| Commit message (Collapse) | Author | Age |
|
|
|
|
|
| |
* Add Objective C example app for Messaging
* Travis static library testing
* static lib build fixes
|
| |
|
|
|
|
|
|
|
|
| |
* Removing an obsolete setting from plist files
* Fixing Unit Tests
* Fixing nullability
|
| |
|
|
|
|
|
|
| |
This new delegate method will be called generally once per app start, to always provide a current token. This token may change over time. This simpler method makes integration much simpler, as:
* Developers no longer have to check for a current token using the `.fcmToken` property, and also check for token changes using the `-messaging:didRefreshRegistrationToken:` delegate method.
* There is a single code path for when a token is available, making operations that depend on a token being available easier to implement. For example, this is the right method to always upload your FCM token to your application server, or to subscribe to topics, etc.
|
|
|
|
|
|
|
|
|
| |
FCM's swizzling of the user notification center currently swizzles only one of the two optional delegate methods (userNotificationCenter:willPresentNotification:withCompletionHandler:), but not the other (userNotificationCenter:didReceiveNotificationResponse:withCompletionHandler:).
The didReceiveNotificationResponse, if implemented by the delegate, is the sole receiver of all user action on a notification, including simply tapping on the notification itself. Prior to this change, if the developer had implemented didReceiveNotificationResponse, then FCM would not be able to collect this event for analytics.
Additionally, I changed the logic in FIRMessagingRemoteNotificationsProxy to check whether these methods are actually implemented before swizzling them. It was always swizzling, which meant it was adding an implementation if the method didn't exist. This would confuse iOS into thinking the developer did implement these methods and NOT fall back to delivering the notifications to the application delegate.
With this change, if the developer did not implement these methods, then FCM will not swizzle those methods. That keeps the behavior true to what the developer intended.
|
| |
|
|
|
| |
This will help debug incoming notifications.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Example/Core: create macOS app/tests target
* Example/Core: Core_Example/Tests -> Core_Example/Tests_iOS
* Example/Core: macOS building/tests passing
* Example/Database: separate iOS/macOS targets
* BuildFrameworks: macOS
* .travis.yml, test.sh: AllUnitTests -> AllUnitTests_iOS
* test.sh: add AllUnitTests_macOS
* Example/Storage: Example/Tests->_iOS
* Example/Storage: macOS
* test.sh: try to prevent double error 65
* test.sh: build before test
* Example/Auth|Messaging: -> _iOS
* Example/Auth: macOS build
* Example/Auth: macOS passing
* Example/Firebase: pod de/re-integrate; fix static DerivedData references; copy phase for OCMock
* Example/Firebase: manually copied OCMock, Products Dir vs. Frameworks
* Example/Firebase: copied OCMock, prevent header removal
* Example/Storage: integration tests sdk fix
* Example/Auth: macOS exclude FIRAuthAppCredentialManager; cleanup
* Firebase/Core: remove nullability annotation
* Firebase/Core|Database: correct TARGET_X usage for correctness and anticipation of OS_WATCH|TV branches
* build.swift: style fix
* Firebase/Core: FIRLogger: fix macOS intermittent va_list error
|
|
|
| |
This shows the simple property, shouldEstablishDirectChannel, to open a new channel, and how to show incoming messages with the iOS 10 delegate handler
|
|
|