Es wird verursacht, weil Parameterwerte bis zu 100 Zeichen lang sein können. Der URL-Parameter meines Objekts ist 132 Zeichen lang. Hier
ist die Methode Zusammenfassung unter FIRAnalytics.h:
/// Logs an app event. The event can have up to 25 parameters. Events with the same name must have
/// the same parameters. Up to 500 event names are supported. Using predefined events and/or
/// parameters is recommended for optimal reporting.
///
/// The following event names are reserved and cannot be used:
/// <ul>
/// <li>app_clear_data</li>
/// <li>app_remove</li>
/// <li>app_update</li>
/// <li>error</li>
/// <li>first_open</li>
/// <li>in_app_purchase</li>
/// <li>notification_dismiss</li>
/// <li>notification_foreground</li>
/// <li>notification_open</li>
/// <li>notification_receive</li>
/// <li>os_update</li>
/// <li>session_start</li>
/// <li>user_engagement</li>
/// </ul>
///
/// @param name The name of the event. Should contain 1 to 40 alphanumeric characters or
/// underscores. The name must start with an alphabetic character. Some event names are
/// reserved. See FIREventNames.h for the list of reserved event names. The "firebase_" prefix
/// is reserved and should not be used. Note that event names are case-sensitive and that
/// logging two events whose names differ only in case will result in two distinct events.
/// @param parameters The dictionary of event parameters. Passing nil indicates that the event has
/// no parameters. Parameter names can be up to 40 characters long and must start with an
/// alphabetic character and contain only alphanumeric characters and underscores. Only NSString
/// and NSNumber (signed 64-bit integer and 64-bit floating-point number) parameter types are
/// supported. NSString parameter values can be up to 100 characters long. The "firebase_"
/// prefix is reserved and should not be used for parameter names.
Warnung
Diese (trimParameters) Methode ist unten garantieren Ihnen eine möglich, Daten verloren. Bitte benutze es vorsichtig! Es trimmt unsere Parameter. Aber wenn Sie keine Informationen nach 100 Zeichen müssen „wie in meinem Fall“ können Sie es verwenden:
- (NSDictionary*)trimParameters:(NSDictionary*)paramethers {
int maxCharacter = 100;
NSMutableDictionary *result = [paramethers mutableCopy];
for (NSString* key in result) {
NSString *value = [NSString stringWithFormat:@"%@", result[key]];
if(![value isEqualToString:@""] && [value length] > maxCharacter) {
result[key] = [value substringFromIndex:maxCharacter];
}
}
return result;
}
und wir können diese Methode aufrufen, wie:
[FIRAnalytics logEventWithName:name parameters:paramethers != nil ? [self trimParameters:paramethers] : paramethers];
LÖSUNG:
Wie @adbitx sagt im Kommentar: "Absturz wurde in der neuesten Version 4.0.0 behoben." Für die Installation der Version "4.0.0" Pod Update wird nicht in meinem Fall helfen.
Wenn jemand heute verwenden Version "4.0.0" wollen, müssen this pod verwenden:
pod 'FirebaseAnalytics'
oder für andere update pod Bibliothek warten.
Ich hoffe, es wird jemandem helfen.
Welche Firebase Analytics SDK-Version verwenden Sie? Ich denke, dieser Absturz wurde in der neuesten Version 4.0.0 behoben. Ich habe die gleichen Parameter ausprobiert und es ist nicht abgestürzt. Ihr Parameter "URL" wird jedoch nicht aufgezeichnet, da er zu lang ist. – adbitx