Commit Graph
10 Commits
Author SHA1 Message Date
Paul Beusterien 42bc113754 Travis static library testing (#1047)
* Add Objective C example app for Messaging
* Travis static library testing
* static lib build fixes
2018-04-09 09:11:21 -07:00
Chen Liang 5306474396 adding unit test for auto init enable function (#710) 2018-01-25 13:44:22 -08:00
Paul Beusterien 3e592526ec Buildable and interoperable source pods (#444) 2017-11-21 17:02:22 -08:00
Riz 2b40693be4 Add simpler delegate method for FCM tokens (#375)
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.
2017-10-12 16:09:07 -07:00
Riz 5496eff88f Don't swizzle missing and optional delegate methods
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.
2017-10-04 18:39:30 -07:00
Paul Beusterien 3b6762135a Fix trailing space travis failure (#294) 2017-09-20 14:14:39 -07:00
Riz 637bf879ad Log incoming notifications to console as JSON (#286)
This will help debug incoming notifications.
2017-09-19 14:28:06 -07:00
Riz 66f3aeda16 Log direct-channel state changes to console (#287) 2017-09-19 12:58:58 -07:00
Paul Beusterien 0297375121 Rename FirebaseDev to FirebaseCommunity (#98) 2017-06-22 13:08:35 -07:00
Mathew Huusko V 5c59342e6e macOS (#38)
* 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
2017-06-02 10:42:17 -07:00