Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
R
react-native-fcm
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Jira
Jira
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
ym
react-native-fcm
Commits
05849626
Commit
05849626
authored
Oct 12, 2016
by
renato
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
FCM changes for iOS
parent
3b151c98
Changes
36
Hide whitespace changes
Inline
Side-by-side
Showing
36 changed files
with
1775 additions
and
21 deletions
+1775
-21
Examples/simple-fcm-client/ios/Firebase.h
Examples/simple-fcm-client/ios/Firebase.h
+52
-0
Examples/simple-fcm-client/ios/FirebaseAnalytics.framework/FirebaseAnalytics
...-client/ios/FirebaseAnalytics.framework/FirebaseAnalytics
+0
-0
Examples/simple-fcm-client/ios/FirebaseAnalytics.framework/Headers/FIRAnalytics+AppDelegate.h
...aseAnalytics.framework/Headers/FIRAnalytics+AppDelegate.h
+57
-0
Examples/simple-fcm-client/ios/FirebaseAnalytics.framework/Headers/FIRAnalytics.h
...nt/ios/FirebaseAnalytics.framework/Headers/FIRAnalytics.h
+71
-0
Examples/simple-fcm-client/ios/FirebaseAnalytics.framework/Headers/FIRAnalyticsConfiguration.h
...seAnalytics.framework/Headers/FIRAnalyticsConfiguration.h
+1
-0
Examples/simple-fcm-client/ios/FirebaseAnalytics.framework/Headers/FIRApp.h
...m-client/ios/FirebaseAnalytics.framework/Headers/FIRApp.h
+1
-0
Examples/simple-fcm-client/ios/FirebaseAnalytics.framework/Headers/FIRConfiguration.h
...os/FirebaseAnalytics.framework/Headers/FIRConfiguration.h
+1
-0
Examples/simple-fcm-client/ios/FirebaseAnalytics.framework/Headers/FIREventNames.h
...t/ios/FirebaseAnalytics.framework/Headers/FIREventNames.h
+321
-0
Examples/simple-fcm-client/ios/FirebaseAnalytics.framework/Headers/FIROptions.h
...ient/ios/FirebaseAnalytics.framework/Headers/FIROptions.h
+1
-0
Examples/simple-fcm-client/ios/FirebaseAnalytics.framework/Headers/FIRParameterNames.h
...s/FirebaseAnalytics.framework/Headers/FIRParameterNames.h
+304
-0
Examples/simple-fcm-client/ios/FirebaseAnalytics.framework/Headers/FIRUserPropertyNames.h
...irebaseAnalytics.framework/Headers/FIRUserPropertyNames.h
+13
-0
Examples/simple-fcm-client/ios/FirebaseAnalytics.framework/Headers/FirebaseAnalytics.h
...s/FirebaseAnalytics.framework/Headers/FirebaseAnalytics.h
+11
-0
Examples/simple-fcm-client/ios/FirebaseAnalytics.framework/Modules/module.modulemap
.../ios/FirebaseAnalytics.framework/Modules/module.modulemap
+23
-0
Examples/simple-fcm-client/ios/FirebaseCore.framework/FirebaseCore
...simple-fcm-client/ios/FirebaseCore.framework/FirebaseCore
+0
-0
Examples/simple-fcm-client/ios/FirebaseCore.framework/Headers/FIRAnalyticsConfiguration.h
...irebaseCore.framework/Headers/FIRAnalyticsConfiguration.h
+38
-0
Examples/simple-fcm-client/ios/FirebaseCore.framework/Headers/FIRApp.h
...le-fcm-client/ios/FirebaseCore.framework/Headers/FIRApp.h
+94
-0
Examples/simple-fcm-client/ios/FirebaseCore.framework/Headers/FIRConfiguration.h
...ent/ios/FirebaseCore.framework/Headers/FIRConfiguration.h
+33
-0
Examples/simple-fcm-client/ios/FirebaseCore.framework/Headers/FIROptions.h
...cm-client/ios/FirebaseCore.framework/Headers/FIROptions.h
+87
-0
Examples/simple-fcm-client/ios/FirebaseCore.framework/Headers/FirebaseCore.h
...-client/ios/FirebaseCore.framework/Headers/FirebaseCore.h
+6
-0
Examples/simple-fcm-client/ios/FirebaseCore.framework/Modules/module.modulemap
...lient/ios/FirebaseCore.framework/Modules/module.modulemap
+15
-0
Examples/simple-fcm-client/ios/FirebaseInstanceID.framework/FirebaseInstanceID
...lient/ios/FirebaseInstanceID.framework/FirebaseInstanceID
+0
-0
Examples/simple-fcm-client/ios/FirebaseInstanceID.framework/Headers/FIRInstanceID.h
.../ios/FirebaseInstanceID.framework/Headers/FIRInstanceID.h
+245
-0
Examples/simple-fcm-client/ios/FirebaseInstanceID.framework/Headers/FirebaseInstanceID.h
...FirebaseInstanceID.framework/Headers/FirebaseInstanceID.h
+1
-0
Examples/simple-fcm-client/ios/FirebaseInstanceID.framework/Modules/module.modulemap
...ios/FirebaseInstanceID.framework/Modules/module.modulemap
+8
-0
Examples/simple-fcm-client/ios/FirebaseMessaging.framework/FirebaseMessaging
...-client/ios/FirebaseMessaging.framework/FirebaseMessaging
+0
-0
Examples/simple-fcm-client/ios/FirebaseMessaging.framework/Headers/FIRMessaging.h
...nt/ios/FirebaseMessaging.framework/Headers/FIRMessaging.h
+236
-0
Examples/simple-fcm-client/ios/FirebaseMessaging.framework/Headers/FirebaseMessaging.h
...s/FirebaseMessaging.framework/Headers/FirebaseMessaging.h
+1
-0
Examples/simple-fcm-client/ios/FirebaseMessaging.framework/Modules/module.modulemap
.../ios/FirebaseMessaging.framework/Modules/module.modulemap
+13
-0
Examples/simple-fcm-client/ios/GoogleIPhoneUtilities.framework/GoogleIPhoneUtilities
...ios/GoogleIPhoneUtilities.framework/GoogleIPhoneUtilities
+0
-0
Examples/simple-fcm-client/ios/GoogleInterchangeUtilities.framework/GoogleInterchangeUtilities
...InterchangeUtilities.framework/GoogleInterchangeUtilities
+0
-0
Examples/simple-fcm-client/ios/GoogleSymbolUtilities.framework/GoogleSymbolUtilities
...ios/GoogleSymbolUtilities.framework/GoogleSymbolUtilities
+0
-0
Examples/simple-fcm-client/ios/GoogleUtilities.framework/GoogleUtilities
...-fcm-client/ios/GoogleUtilities.framework/GoogleUtilities
+0
-0
Examples/simple-fcm-client/ios/SimpleFcmClient.xcodeproj/project.pbxproj
...-fcm-client/ios/SimpleFcmClient.xcodeproj/project.pbxproj
+100
-20
Examples/simple-fcm-client/ios/SimpleFcmClient/AppDelegate.h
Examples/simple-fcm-client/ios/SimpleFcmClient/AppDelegate.h
+3
-1
Examples/simple-fcm-client/ios/SimpleFcmClient/AppDelegate.m
Examples/simple-fcm-client/ios/SimpleFcmClient/AppDelegate.m
+35
-0
Examples/simple-fcm-client/ios/module.modulemap
Examples/simple-fcm-client/ios/module.modulemap
+4
-0
No files found.
Examples/simple-fcm-client/ios/Firebase.h
0 → 100644
View file @
05849626
#import <FirebaseAnalytics/FirebaseAnalytics.h>
#import <FirebaseCore/FirebaseCore.h>
#if !defined(__has_include)
#error "Firebase.h won't import anything if your compiler doesn't support __has_include. Please \
import the headers individually."
#else
#if __has_include(<FirebaseAppIndexing/FirebaseAppIndexing.h>)
#import <FirebaseAppIndexing/FirebaseAppIndexing.h>
#endif
#if __has_include(<FirebaseAuth/FirebaseAuth.h>)
#import <FirebaseAuth/FirebaseAuth.h>
#endif
#if __has_include(<FirebaseCrash/FirebaseCrash.h>)
#import <FirebaseCrash/FirebaseCrash.h>
#endif
#if __has_include(<FirebaseDatabase/FirebaseDatabase.h>)
#import <FirebaseDatabase/FirebaseDatabase.h>
#endif
#if __has_include(<FirebaseDynamicLinks/FirebaseDynamicLinks.h>)
#import <FirebaseDynamicLinks/FirebaseDynamicLinks.h>
#endif
#if __has_include(<FirebaseInstanceID/FirebaseInstanceID.h>)
#import <FirebaseInstanceID/FirebaseInstanceID.h>
#endif
#if __has_include(<FirebaseInvites/FirebaseInvites.h>)
#import <FirebaseInvites/FirebaseInvites.h>
#endif
#if __has_include(<FirebaseMessaging/FirebaseMessaging.h>)
#import <FirebaseMessaging/FirebaseMessaging.h>
#endif
#if __has_include(<FirebaseRemoteConfig/FirebaseRemoteConfig.h>)
#import <FirebaseRemoteConfig/FirebaseRemoteConfig.h>
#endif
#if __has_include(<FirebaseStorage/FirebaseStorage.h>)
#import <FirebaseStorage/FirebaseStorage.h>
#endif
#if __has_include(<GoogleMobileAds/GoogleMobileAds.h>)
#import <GoogleMobileAds/GoogleMobileAds.h>
#endif
#endif // defined(__has_include)
Examples/simple-fcm-client/ios/FirebaseAnalytics.framework/FirebaseAnalytics
0 → 100755
View file @
05849626
File added
Examples/simple-fcm-client/ios/FirebaseAnalytics.framework/Headers/FIRAnalytics+AppDelegate.h
0 → 100755
View file @
05849626
#import <Foundation/Foundation.h>
#import "FIRAnalytics.h"
/**
* Provides App Delegate handlers to be used in your App Delegate.
*
* To save time integrating Firebase Analytics in an application, Firebase Analytics does not
* require delegation implementation from the AppDelegate. Instead this is automatically done by
* Firebase Analytics. Should you choose instead to delegate manually, you can turn off the App
* Delegate Proxy by adding FirebaseAppDelegateProxyEnabled into your app's Info.plist and setting
* it to NO, and adding the methods in this category to corresponding delegation handlers.
*
* To handle Universal Links, you must return YES in
* [UIApplicationDelegate application:didFinishLaunchingWithOptions:].
*/
@interface
FIRAnalytics
(
AppDelegate
)
/**
* Handles events related to a URL session that are waiting to be processed.
*
* For optimal use of Firebase Analytics, call this method from the
* [UIApplicationDelegate application:handleEventsForBackgroundURLSession:completionHandler]
* method of the app delegate in your app.
*
* @param identifier The identifier of the URL session requiring attention.
* @param completionHandler The completion handler to call when you finish processing the events.
* Calling this completion handler lets the system know that your app's user interface is
* updated and a new snapshot can be taken.
*/
+
(
void
)
handleEventsForBackgroundURLSession
:(
NSString
*
)
identifier
completionHandler
:(
void
(
^
)(
void
))
completionHandler
;
/**
* Handles the event when the app is launched by a URL.
*
* Call this method from [UIApplicationDelegate application:openURL:options:] (on iOS 9.0 and
* above), or [UIApplicationDelegate application:openURL:sourceApplication:annotation:] (on iOS 8.x
* and below) in your app.
*
* @param url The URL resource to open. This resource can be a network resource or a file.
*/
+
(
void
)
handleOpenURL
:(
NSURL
*
)
url
;
/**
* Handles the event when the app receives data associated with user activity that includes a
* Universal Link (on iOS 9.0 and above).
*
* Call this method from [UIApplication continueUserActivity:restorationHandler:] in your app
* delegate (on iOS 9.0 and above).
*
* @param userActivity The activity object containing the data associated with the task the user
* was performing.
*/
+
(
void
)
handleUserActivity
:(
id
)
userActivity
;
@end
Examples/simple-fcm-client/ios/FirebaseAnalytics.framework/Headers/FIRAnalytics.h
0 → 100755
View file @
05849626
#import <Foundation/Foundation.h>
#import "FIREventNames.h"
#import "FIRParameterNames.h"
#import "FIRUserPropertyNames.h"
/// The top level Firebase Analytics singleton that provides methods for logging events and setting
/// user properties. See <a href="http://goo.gl/gz8SLz">the developer guides</a> for general
/// information on using Firebase Analytics in your apps.
@interface
FIRAnalytics
:
NSObject
/// 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 32 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 24 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 36 characters long. The "firebase_" prefix
/// is reserved and should not be used for parameter names.
+
(
void
)
logEventWithName
:(
nonnull
NSString
*
)
name
parameters
:(
nullable
NSDictionary
<
NSString
*
,
NSObject
*>
*
)
parameters
;
/// Sets a user property to a given value. Up to 25 user property names are supported. Once set,
/// user property values persist throughout the app lifecycle and across sessions.
///
/// The following user property names are reserved and cannot be used:
/// <ul>
/// <li>first_open_time</li>
/// <li>last_deep_link_referrer</li>
/// <li>user_id</li>
/// </ul>
///
/// @param value The value of the user property. Values can be up to 36 characters long. Setting the
/// value to nil removes the user property.
/// @param name The name of the user property to set. Should contain 1 to 24 alphanumeric characters
/// or underscores and must start with an alphabetic character. The "firebase_" prefix is
/// reserved and should not be used for user property names.
+
(
void
)
setUserPropertyString
:(
nullable
NSString
*
)
value
forName
:(
nonnull
NSString
*
)
name
;
/// Sets the user ID property. This feature must be used in accordance with
/// <a href="https://www.google.com/policies/privacy">Google's Privacy Policy</a>
///
/// @param userID The user ID to ascribe to the user of this app on this device, which must be
/// non-empty and no more than 36 characters long. Setting userID to nil removes the user ID.
+
(
void
)
setUserID
:(
nullable
NSString
*
)
userID
;
@end
Examples/simple-fcm-client/ios/FirebaseAnalytics.framework/Headers/FIRAnalyticsConfiguration.h
0 → 100755
View file @
05849626
#import <FirebaseCore/FIRAnalyticsConfiguration.h>
Examples/simple-fcm-client/ios/FirebaseAnalytics.framework/Headers/FIRApp.h
0 → 100755
View file @
05849626
#import <FirebaseCore/FIRApp.h>
Examples/simple-fcm-client/ios/FirebaseAnalytics.framework/Headers/FIRConfiguration.h
0 → 100755
View file @
05849626
#import <FirebaseCore/FIRConfiguration.h>
Examples/simple-fcm-client/ios/FirebaseAnalytics.framework/Headers/FIREventNames.h
0 → 100755
View file @
05849626
/// @file FIREventNames.h
///
/// Predefined event names.
///
/// An Event is an important occurrence in your app that you want to measure. You can report up to
/// 500 different types of Events per app and you can associate up to 25 unique parameters with each
/// Event type. Some common events are suggested below, but you may also choose to specify custom
/// Event types that are associated with your specific app. Each event type is identified by a
/// unique name. Event names can be up to 32 characters long, may only contain alphanumeric
/// characters and underscores ("_"), and must start with an alphabetic character. The "firebase_"
/// prefix is reserved and should not be used.
/// Add Payment Info event. This event signifies that a user has submitted their payment information
/// to your app.
static
NSString
*
const
kFIREventAddPaymentInfo
=
@"add_payment_info"
;
/// E-Commerce Add To Cart event. This event signifies that an item was added to a cart for
/// purchase. Add this event to a funnel with kFIREventEcommercePurchase to gauge the effectiveness
/// of your checkout process. Note: If you supply the {@link kFIRParameterValue} parameter, you must
/// also supply the {@link kFIRParameterCurrency} parameter so that revenue metrics can be computed
/// accurately. Params:
///
/// <ul>
/// <li>{@link kFIRParameterQuantity} (signed 64-bit integer as NSNumber)</li>
/// <li>{@link kFIRParameterItemID} (NSString)</li>
/// <li>{@link kFIRParameterItemName} (NSString)</li>
/// <li>{@link kFIRParameterItemCategory} (NSString)</li>
/// <li>{@link kFIRParameterItemLocationID} (NSString) (optional)</li>
/// <li>{@link kFIRParameterPrice} (double as NSNumber) (optional)</li>
/// <li>{@link kFIRParameterCurrency} (NSString) (optional)</li>
/// <li>{@link kFIRParameterValue} (double as NSNumber) (optional)</li>
/// <li>{@link kFIRParameterOrigin} (NSString) (optional)</li>
/// <li>{@link kFIRParameterDestination} (NSString) (optional)</li>
/// <li>{@link kFIRParameterStartDate} (NSString) (optional)</li>
/// <li>{@link kFIRParameterEndDate} (NSString) (optional)</li>
/// </ul>
static
NSString
*
const
kFIREventAddToCart
=
@"add_to_cart"
;
/// E-Commerce Add To Wishlist event. This event signifies that an item was added to a wishlist.
/// Use this event to identify popular gift items in your app. Note: If you supply the
/// {@link kFIRParameterValue} parameter, you must also supply the {@link kFIRParameterCurrency}
/// parameter so that revenue metrics can be computed accurately. Params:
///
/// <ul>
/// <li>{@link kFIRParameterQuantity} (signed 64-bit integer as NSNumber)</li>
/// <li>{@link kFIRParameterItemID} (NSString)</li>
/// <li>{@link kFIRParameterItemName} (NSString)</li>
/// <li>{@link kFIRParameterItemCategory} (NSString)</li>
/// <li>{@link kFIRParameterItemLocationID} (NSString) (optional)</li>
/// <li>{@link kFIRParameterPrice} (double as NSNumber) (optional)</li>
/// <li>{@link kFIRParameterCurrency} (NSString) (optional)</li>
/// <li>{@link kFIRParameterValue} (double as NSNumber) (optional)</li>
/// </ul>
static
NSString
*
const
kFIREventAddToWishlist
=
@"add_to_wishlist"
;
/// App Open event. By logging this event when an App is moved to the foreground, developers can
/// understand how often users leave and return during the course of a Session. Although Sessions
/// are automatically reported, this event can provide further clarification around the continuous
/// engagement of app-users.
static
NSString
*
const
kFIREventAppOpen
=
@"app_open"
;
/// E-Commerce Begin Checkout event. This event signifies that a user has begun the process of
/// checking out. Add this event to a funnel with your kFIREventEcommercePurchase event to gauge the
/// effectiveness of your checkout process. Note: If you supply the {@link kFIRParameterValue}
/// parameter, you must also supply the {@link kFIRParameterCurrency} parameter so that revenue
/// metrics can be computed accurately. Params:
///
/// <ul>
/// <li>{@link kFIRParameterValue} (double as NSNumber) (optional)</li>
/// <li>{@link kFIRParameterCurrency} (NSString) (optional)</li>
/// <li>{@link kFIRParameterTransactionID} (NSString) (optional)</li>
/// <li>{@link kFIRParameterStartDate} (NSString) (optional)</li>
/// <li>{@link kFIRParameterEndDate} (NSString) (optional)</li>
/// <li>{@link kFIRParameterNumberOfNights} (signed 64-bit integer as NSNumber) (optional) for
/// hotel bookings</li>
/// <li>{@link kFIRParameterNumberOfRooms} (signed 64-bit integer as NSNumber) (optional) for
/// hotel bookings</li>
/// <li>{@link kFIRParameterNumberOfPassengers} (signed 64-bit integer as NSNumber) (optional)
/// for travel bookings</li>
/// <li>{@link kFIRParameterOrigin} (NSString) (optional)</li>
/// <li>{@link kFIRParameterDestination} (NSString) (optional)</li>
/// <li>{@link kFIRParameterTravelClass} (NSString) (optional) for travel bookings</li>
/// </ul>
static
NSString
*
const
kFIREventBeginCheckout
=
@"begin_checkout"
;
/// Earn Virtual Currency event. This event tracks the awarding of virtual currency in your app. Log
/// this along with {@link kFIREventSpendVirtualCurrency} to better understand your virtual economy.
/// Params:
///
/// <ul>
/// <li>{@link kFIRParameterVirtualCurrencyName} (NSString)</li>
/// <li>{@link kFIRParameterValue} (signed 64-bit integer or double as NSNumber)</li>
/// </ul>
static
NSString
*
const
kFIREventEarnVirtualCurrency
=
@"earn_virtual_currency"
;
/// E-Commerce Purchase event. This event signifies that an item was purchased by a user. Note:
/// This is different from the in-app purchase event, which is reported automatically for App
/// Store-based apps. Note: If you supply the {@link kFIRParameterValue} parameter, you must also
/// supply the {@link kFIRParameterCurrency} parameter so that revenue metrics can be computed
/// accurately. Params:
///
/// <ul>
/// <li>{@link kFIRParameterCurrency} (NSString) (optional)</li>
/// <li>{@link kFIRParameterValue} (double as NSNumber) (optional)</li>
/// <li>{@link kFIRParameterTransactionID} (NSString) (optional)</li>
/// <li>{@link kFIRParameterTax} (double as NSNumber) (optional)</li>
/// <li>{@link kFIRParameterShipping} (double as NSNumber) (optional)</li>
/// <li>{@link kFIRParameterCoupon} (NSString) (optional)</li>
/// <li>{@link kFIRParameterLocation} (NSString) (optional)</li>
/// <li>{@link kFIRParameterStartDate} (NSString) (optional)</li>
/// <li>{@link kFIRParameterEndDate} (NSString) (optional)</li>
/// <li>{@link kFIRParameterNumberOfNights} (signed 64-bit integer as NSNumber) (optional) for
/// hotel bookings</li>
/// <li>{@link kFIRParameterNumberOfRooms} (signed 64-bit integer as NSNumber) (optional) for
/// hotel bookings</li>
/// <li>{@link kFIRParameterNumberOfPassengers} (signed 64-bit integer as NSNumber) (optional)
/// for travel bookings</li>
/// <li>{@link kFIRParameterOrigin} (NSString) (optional)</li>
/// <li>{@link kFIRParameterDestination} (NSString) (optional)</li>
/// <li>{@link kFIRParameterTravelClass} (NSString) (optional) for travel bookings</li>
/// </ul>
static
NSString
*
const
kFIREventEcommercePurchase
=
@"ecommerce_purchase"
;
/// Generate Lead event. Log this event when a lead has been generated in the app to understand the
/// efficacy of your install and re-engagement campaigns. Note: If you supply the
/// {@link kFIRParameterValue} parameter, you must also supply the {@link kFIRParameterCurrency}
/// parameter so that revenue metrics can be computed accurately. Params:
///
/// <ul>
/// <li>{@link kFIRParameterCurrency} (NSString) (optional)</li>
/// <li>{@link kFIRParameterValue} (double as NSNumber) (optional)</li>
/// </ul>
static
NSString
*
const
kFIREventGenerateLead
=
@"generate_lead"
;
/// Join Group event. Log this event when a user joins a group such as a guild, team or family. Use
/// this event to analyze how popular certain groups or social features are in your app. Params:
///
/// <ul>
/// <li>{@link kFIRParameterGroupID} (NSString)</li>
/// </ul>
static
NSString
*
const
kFIREventJoinGroup
=
@"join_group"
;
/// Level Up event. This event signifies that a player has leveled up in your gaming app. It can
/// help you gauge the level distribution of your userbase and help you identify certain levels that
/// are difficult to pass. Params:
///
/// <ul>
/// <li>{@link kFIRParameterLevel} (signed 64-bit integer as NSNumber)</li>
/// <li>{@link kFIRParameterCharacter} (NSString) (optional)</li>
/// </ul>
static
NSString
*
const
kFIREventLevelUp
=
@"level_up"
;
/// Login event. Apps with a login feature can report this event to signify that a user has logged
/// in.
static
NSString
*
const
kFIREventLogin
=
@"login"
;
/// Post Score event. Log this event when the user posts a score in your gaming app. This event can
/// help you understand how users are actually performing in your game and it can help you correlate
/// high scores with certain audiences or behaviors. Params:
///
/// <ul>
/// <li>{@link kFIRParameterScore} (signed 64-bit integer as NSNumber)</li>
/// <li>{@link kFIRParameterLevel} (signed 64-bit integer as NSNumber) (optional)</li>
/// <li>{@link kFIRParameterCharacter} (NSString) (optional)</li>
/// </ul>
static
NSString
*
const
kFIREventPostScore
=
@"post_score"
;
/// Present Offer event. This event signifies that the app has presented a purchase offer to a user.
/// Add this event to a funnel with the kFIREventAddToCart and kFIREventEcommercePurchase to gauge
/// your conversion process. Note: If you supply the {@link kFIRParameterValue} parameter, you must
/// also supply the {@link kFIRParameterCurrency} parameter so that revenue metrics can be computed
/// accurately. Params:
///
/// <ul>
/// <li>{@link kFIRParameterQuantity} (signed 64-bit integer as NSNumber)</li>
/// <li>{@link kFIRParameterItemID} (NSString)</li>
/// <li>{@link kFIRParameterItemName} (NSString)</li>
/// <li>{@link kFIRParameterItemCategory} (NSString)</li>
/// <li>{@link kFIRParameterItemLocationID} (NSString) (optional)</li>
/// <li>{@link kFIRParameterPrice} (double as NSNumber) (optional)</li>
/// <li>{@link kFIRParameterCurrency} (NSString) (optional)</li>
/// <li>{@link kFIRParameterValue} (double as NSNumber) (optional)</li>
/// </ul>
static
NSString
*
const
kFIREventPresentOffer
=
@"present_offer"
;
/// E-Commerce Purchase Refund event. This event signifies that an item purchase was refunded.
/// Note: If you supply the {@link kFIRParameterValue} parameter, you must also supply the
/// {@link kFIRParameterCurrency} parameter so that revenue metrics can be computed accurately.
/// Params:
///
/// <ul>
/// <li>{@link kFIRParameterCurrency} (NSString) (optional)</li>
/// <li>{@link kFIRParameterValue} (double as NSNumber) (optional)</li>
/// <li>{@link kFIRParameterTransactionID} (NSString) (optional)</li>
/// </ul>
static
NSString
*
const
kFIREventPurchaseRefund
=
@"purchase_refund"
;
/// Search event. Apps that support search features can use this event to contextualize search
/// operations by supplying the appropriate, corresponding parameters. This event can help you
/// identify the most popular content in your app. Params:
///
/// <ul>
/// <li>{@link kFIRParameterSearchTerm} (NSString)</li>
/// <li>{@link kFIRParameterStartDate} (NSString) (optional)</li>
/// <li>{@link kFIRParameterEndDate} (NSString) (optional)</li>
/// <li>{@link kFIRParameterNumberOfNights} (signed 64-bit integer as NSNumber) (optional) for
/// hotel bookings</li>
/// <li>{@link kFIRParameterNumberOfRooms} (signed 64-bit integer as NSNumber) (optional) for
/// hotel bookings</li>
/// <li>{@link kFIRParameterNumberOfPassengers} (signed 64-bit integer as NSNumber) (optional)
/// for travel bookings</li>
/// <li>{@link kFIRParameterOrigin} (NSString) (optional)</li>
/// <li>{@link kFIRParameterDestination} (NSString) (optional)</li>
/// <li>{@link kFIRParameterTravelClass} (NSString) (optional) for travel bookings</li>
/// </ul>
static
NSString
*
const
kFIREventSearch
=
@"search"
;
/// Select Content event. This general purpose event signifies that a user has selected some content
/// of a certain type in an app. The content can be any object in your app. This event can help you
/// identify popular content and categories of content in your app. Params:
///
/// <ul>
/// <li>{@link kFIRParameterContentType} (NSString)</li>
/// <li>{@link kFIRParameterItemID} (NSString)</li>
/// </ul>
static
NSString
*
const
kFIREventSelectContent
=
@"select_content"
;
/// Share event. Apps with social features can log the Share event to identify the most viral
/// content. Params:
///
/// <ul>
/// <li>{@link kFIRParameterContentType} (NSString)</li>
/// <li>{@link kFIRParameterItemID} (NSString)</li>
/// </ul>
static
NSString
*
const
kFIREventShare
=
@"share"
;
/// Sign Up event. This event indicates that a user has signed up for an account in your app. The
/// parameter signifies the method by which the user signed up. Use this event to understand the
/// different behaviors between logged in and logged out users. Params:
///
/// <ul>
/// <li>{@link kFIRParameterSignUpMethod} (NSString)</li>
/// </ul>
static
NSString
*
const
kFIREventSignUp
=
@"sign_up"
;
/// Spend Virtual Currency event. This event tracks the sale of virtual goods in your app and can
/// help you identify which virtual goods are the most popular objects of purchase. Params:
///
/// <ul>
/// <li>{@link kFIRParameterItemName} (NSString)</li>
/// <li>{@link kFIRParameterVirtualCurrencyName} (NSString)</li>
/// <li>{@link kFIRParameterValue} (signed 64-bit integer or double as NSNumber)</li>
/// </ul>
static
NSString
*
const
kFIREventSpendVirtualCurrency
=
@"spend_virtual_currency"
;
/// Tutorial Begin event. This event signifies the start of the on-boarding process in your app. Use
/// this in a funnel with kFIREventTutorialComplete to understand how many users complete this
/// process and move on to the full app experience.
static
NSString
*
const
kFIREventTutorialBegin
=
@"tutorial_begin"
;
/// Tutorial End event. Use this event to signify the user's completion of your app's on-boarding
/// process. Add this to a funnel with kFIREventTutorialBegin to gauge the completion rate of your
/// on-boarding process.
static
NSString
*
const
kFIREventTutorialComplete
=
@"tutorial_complete"
;
/// Unlock Achievement event. Log this event when the user has unlocked an achievement in your
/// game. Since achievements generally represent the breadth of a gaming experience, this event can
/// help you understand how many users are experiencing all that your game has to offer. Params:
///
/// <ul>
/// <li>{@link kFIRParameterAchievementID} (NSString)</li>
/// </ul>
static
NSString
*
const
kFIREventUnlockAchievement
=
@"unlock_achievement"
;
/// View Item event. This event signifies that some content was shown to the user. This content may
/// be a product, a webpage or just a simple image or text. Use the appropriate parameters to
/// contextualize the event. Use this event to discover the most popular items viewed in your app.
/// Note: If you supply the {@link kFIRParameterValue} parameter, you must also supply the
/// {@link kFIRParameterCurrency} parameter so that revenue metrics can be computed accurately.
/// Params:
///
/// <ul>
/// <li>{@link kFIRParameterItemID} (NSString)</li>
/// <li>{@link kFIRParameterItemName} (NSString)</li>
/// <li>{@link kFIRParameterItemCategory} (NSString)</li>
/// <li>{@link kFIRParameterItemLocationID} (NSString) (optional)</li>
/// <li>{@link kFIRParameterPrice} (double as NSNumber) (optional)</li>
/// <li>{@link kFIRParameterQuantity} (signed 64-bit integer as NSNumber) (optional)</li>
/// <li>{@link kFIRParameterCurrency} (NSString) (optional)</li>
/// <li>{@link kFIRParameterValue} (double as NSNumber) (optional)</li>
/// <li>{@link kFIRParameterStartDate} (NSString) (optional)</li>
/// <li>{@link kFIRParameterEndDate} (NSString) (optional)</li>
/// <li>{@link kFIRParameterFlightNumber} (NSString) (optional) for travel bookings</li>
/// <li>{@link kFIRParameterNumberOfPassengers} (signed 64-bit integer as NSNumber) (optional)
/// for travel bookings</li>
/// <li>{@link kFIRParameterNumberOfNights} (signed 64-bit integer as NSNumber) (optional) for
/// travel bookings</li>
/// <li>{@link kFIRParameterNumberOfRooms} (signed 64-bit integer as NSNumber) (optional) for
/// travel bookings</li>
/// <li>{@link kFIRParameterOrigin} (NSString) (optional)</li>
/// <li>{@link kFIRParameterDestination} (NSString) (optional)</li>
/// <li>{@link kFIRParameterSearchTerm} (NSString) (optional) for travel bookings</li>
/// <li>{@link kFIRParameterTravelClass} (NSString) (optional) for travel bookings</li>
/// </ul>
static
NSString
*
const
kFIREventViewItem
=
@"view_item"
;
/// View Item List event. Log this event when the user has been presented with a list of items of a
/// certain category. Params:
///
/// <ul>
/// <li>{@link kFIRParameterItemCategory} (NSString)</li>
/// </ul>
static
NSString
*
const
kFIREventViewItemList
=
@"view_item_list"
;
/// View Search Results event. Log this event when the user has been presented with the results of a
/// search. Params:
///
/// <ul>
/// <li>{@link kFIRParameterSearchTerm} (NSString)</li>
/// </ul>
static
NSString
*
const
kFIREventViewSearchResults
=
@"view_search_results"
;
Examples/simple-fcm-client/ios/FirebaseAnalytics.framework/Headers/FIROptions.h
0 → 100755
View file @
05849626
#import <FirebaseCore/FIROptions.h>
Examples/simple-fcm-client/ios/FirebaseAnalytics.framework/Headers/FIRParameterNames.h
0 → 100755
View file @
05849626
/// @file FIRParameterNames.h
///
/// Predefined event parameter names.
///
/// Params supply information that contextualize Events. You can associate up to 25 unique Params
/// with each Event type. Some Params are suggested below for certain common Events, but you are
/// not limited to these. You may supply extra Params for suggested Events or custom Params for
/// Custom events. Param names can be up to 24 characters long, may only contain alphanumeric
/// characters and underscores ("_"), and must start with an alphabetic character. Param values can
/// be up to 36 characters long. The "firebase_" prefix is reserved and should not be used.
/// Game achievement ID (NSString).
/// <pre>
/// NSDictionary *params = @{
/// kFIRParameterAchievementID : @"10_matches_won",
/// // ...
/// };
/// </pre>
static
NSString
*
const
kFIRParameterAchievementID
=
@"achievement_id"
;
/// Character used in game (NSString).
/// <pre>
/// NSDictionary *params = @{
/// kFIRParameterCharacter : @"beat_boss",
/// // ...
/// };
/// </pre>
static
NSString
*
const
kFIRParameterCharacter
=
@"character"
;
/// Type of content selected (NSString).
/// <pre>
/// NSDictionary *params = @{
/// kFIRParameterContentType : @"news article",
/// // ...
/// };
/// </pre>
static
NSString
*
const
kFIRParameterContentType
=
@"content_type"
;
/// Coupon code for a purchasable item (NSString).
/// <pre>
/// NSDictionary *params = @{
/// kFIRParameterCoupon : @"zz123",
/// // ...
/// };
/// </pre>
static
NSString
*
const
kFIRParameterCoupon
=
@"coupon"
;
/// Purchase currency in 3-letter <a href="http://en.wikipedia.org/wiki/ISO_4217#Active_codes">
/// ISO_4217</a> format (NSString).
/// <pre>
/// NSDictionary *params = @{
/// kFIRParameterCurrency : @"USD",
/// // ...
/// };
/// </pre>
static
NSString
*
const
kFIRParameterCurrency
=
@"currency"
;
/// Flight or Travel destination (NSString).
/// <pre>
/// NSDictionary *params = @{
/// kFIRParameterDestination : @"Mountain View, CA",
/// // ...
/// };
/// </pre>
static
NSString
*
const
kFIRParameterDestination
=
@"destination"
;
/// The arrival date, check-out date or rental end date for the item. This should be in
/// YYYY-MM-DD format (NSString).
/// <pre>
/// NSDictionary *params = @{
/// kFIRParameterEndDate : @"2015-09-14",
/// // ...
/// };
/// </pre>
static
NSString
*
const
kFIRParameterEndDate
=
@"end_date"
;
/// Flight number for travel events (NSString).
/// <pre>
/// NSDictionary *params = @{
/// kFIRParameterFlightNumber : @"ZZ800",
/// // ...
/// };
/// </pre>
static
NSString
*
const
kFIRParameterFlightNumber
=
@"flight_number"
;
/// Group/clan/guild ID (NSString).
/// <pre>
/// NSDictionary *params = @{
/// kFIRParameterGroupID : @"g1",
/// // ...
/// };
/// </pre>
static
NSString
*
const
kFIRParameterGroupID
=
@"group_id"
;
/// Item category (NSString).
/// <pre>
/// NSDictionary *params = @{
/// kFIRParameterItemCategory : @"t-shirts",
/// // ...
/// };
/// </pre>
static
NSString
*
const
kFIRParameterItemCategory
=
@"item_category"
;
/// Item ID (NSString).
/// <pre>
/// NSDictionary *params = @{
/// kFIRParameterItemID : @"p7654",
/// // ...
/// };
/// </pre>
static
NSString
*
const
kFIRParameterItemID
=
@"item_id"
;
/// The Google <a href="https://developers.google.com/places/place-id">Place ID</a> (NSString) that
/// corresponds to the associated item. Alternatively, you can supply your own custom Location ID.
/// <pre>
/// NSDictionary *params = @{
/// kFIRParameterItemLocationID : @"ChIJiyj437sx3YAR9kUWC8QkLzQ",
/// // ...
/// };
/// </pre>
static
NSString
*
const
kFIRParameterItemLocationID
=
@"item_location_id"
;
/// Item name (NSString).
/// <pre>
/// NSDictionary *params = @{
/// kFIRParameterItemName : @"abc",
/// // ...
/// };
/// </pre>
static
NSString
*
const
kFIRParameterItemName
=
@"item_name"
;
/// Level in game (signed 64-bit integer as NSNumber).
/// <pre>
/// NSDictionary *params = @{
/// kFIRParameterLevel : @(42),
/// // ...
/// };
/// </pre>
static
NSString
*
const
kFIRParameterLevel
=
@"level"
;
/// Location (NSString). The Google <a href="https://developers.google.com/places/place-id">Place ID
/// </a> that corresponds to the associated event. Alternatively, you can supply your own custom
/// Location ID.
/// <pre>
/// NSDictionary *params = @{
/// kFIRParameterLocation : @"ChIJiyj437sx3YAR9kUWC8QkLzQ",
/// // ...
/// };
/// </pre>
static
NSString
*
const
kFIRParameterLocation
=
@"location"
;
/// Number of nights staying at hotel (signed 64-bit integer as NSNumber).
/// <pre>
/// NSDictionary *params = @{
/// kFIRParameterNumberOfNights : @(3),
/// // ...
/// };
/// </pre>
static
NSString
*
const
kFIRParameterNumberOfNights
=
@"number_of_nights"
;
/// Number of passengers traveling (signed 64-bit integer as NSNumber).
/// <pre>
/// NSDictionary *params = @{
/// kFIRParameterNumberOfPassengers : @(11),
/// // ...
/// };
/// </pre>
static
NSString
*
const
kFIRParameterNumberOfPassengers
=
@"number_of_passengers"
;
/// Number of rooms for travel events (signed 64-bit integer as NSNumber).
/// <pre>
/// NSDictionary *params = @{
/// kFIRParameterNumberOfRooms : @(2),
/// // ...
/// };
/// </pre>
static
NSString
*
const
kFIRParameterNumberOfRooms
=
@"number_of_rooms"
;
/// Flight or Travel origin (NSString).
/// <pre>
/// NSDictionary *params = @{
/// kFIRParameterOrigin : @"Mountain View, CA",
/// // ...
/// };
/// </pre>
static
NSString
*
const
kFIRParameterOrigin
=
@"origin"
;
/// Purchase price (double as NSNumber).
/// <pre>
/// NSDictionary *params = @{
/// kFIRParameterPrice : @(1.0),
/// kFIRParameterCurrency : @"USD", // e.g. $1.00 USD
/// // ...
/// };
/// </pre>
static
NSString
*
const
kFIRParameterPrice
=
@"price"
;
/// Purchase quantity (signed 64-bit integer as NSNumber).
/// <pre>
/// NSDictionary *params = @{
/// kFIRParameterQuantity : @(1),
/// // ...
/// };
/// </pre>
static
NSString
*
const
kFIRParameterQuantity
=
@"quantity"
;
/// Score in game (signed 64-bit integer as NSNumber).
/// <pre>
/// NSDictionary *params = @{
/// kFIRParameterScore : @(4200),
/// // ...
/// };
/// </pre>
static
NSString
*
const
kFIRParameterScore
=
@"score"
;
/// The search string/keywords used (NSString).
/// <pre>
/// NSDictionary *params = @{
/// kFIRParameterSearchTerm : @"periodic table",
/// // ...
/// };
/// </pre>
static
NSString
*
const
kFIRParameterSearchTerm
=
@"search_term"
;
/// Shipping cost (double as NSNumber).
/// <pre>
/// NSDictionary *params = @{
/// kFIRParameterShipping : @(9.50),
/// kFIRParameterCurrency : @"USD", // e.g. $9.50 USD
/// // ...
/// };
/// </pre>
static
NSString
*
const
kFIRParameterShipping
=
@"shipping"
;
/// Sign up method (NSString).
/// <pre>
/// NSDictionary *params = @{
/// kFIRParameterSignUpMethod : @"google",
/// // ...
/// };
/// </pre>
static
NSString
*
const
kFIRParameterSignUpMethod
=
@"sign_up_method"
;
/// The departure date, check-in date or rental start date for the item. This should be in
/// YYYY-MM-DD format (NSString).
/// <pre>
/// NSDictionary *params = @{
/// kFIRParameterStartDate : @"2015-09-14",
/// // ...
/// };
/// </pre>
static
NSString
*
const
kFIRParameterStartDate
=
@"start_date"
;
/// Tax amount (double as NSNumber).
/// <pre>
/// NSDictionary *params = @{
/// kFIRParameterTax : @(1.0),
/// kFIRParameterCurrency : @"USD", // e.g. $1.00 USD
/// // ...
/// };
/// </pre>
static
NSString
*
const
kFIRParameterTax
=
@"tax"
;
/// A single ID for a ecommerce group transaction (NSString).
/// <pre>
/// NSDictionary *params = @{
/// kFIRParameterTransactionID : @"ab7236dd9823",
/// // ...
/// };
/// </pre>
static
NSString
*
const
kFIRParameterTransactionID
=
@"transaction_id"
;
/// Travel class (NSString).
/// <pre>
/// NSDictionary *params = @{
/// kFIRParameterTravelClass : @"business",
/// // ...
/// };
/// </pre>
static
NSString
*
const
kFIRParameterTravelClass
=
@"travel_class"
;
/// A context-specific numeric value which is accumulated automatically for each event type. This is
/// a general purpose parameter that is useful for accumulating a key metric that pertains to an
/// event. Examples include revenue, distance, time and points. Value should be specified as signed
/// 64-bit integer or double as NSNumber. Notes: Currency-related values should be supplied using
/// double as NSNumber and must be accompanied by a {@link kFIRParameterCurrency} parameter. The
/// valid range of accumulated values is [-9,223,372,036,854.77, 9,223,372,036,854.77].
/// <pre>
/// NSDictionary *params = @{
/// kFIRParameterValue : @(3.99),
/// kFIRParameterCurrency : @"USD", // e.g. $3.99 USD
/// // ...
/// };
/// </pre>
static
NSString
*
const
kFIRParameterValue
=
@"value"
;
/// Name of virtual currency type (NSString).
/// <pre>
/// NSDictionary *params = @{
/// kFIRParameterVirtualCurrencyName : @"virtual_currency_name",
/// // ...
/// };
/// </pre>
static
NSString
*
const
kFIRParameterVirtualCurrencyName
=
@"virtual_currency_name"
;
Examples/simple-fcm-client/ios/FirebaseAnalytics.framework/Headers/FIRUserPropertyNames.h
0 → 100755
View file @
05849626
/// @file FIRUserPropertyNames.h
///
/// Predefined user property names.
///
/// A UserProperty is an attribute that describes the app-user. By supplying UserProperties, you can
/// later analyze different behaviors of various segments of your userbase. You may supply up to 25
/// unique UserProperties per app, and you can use the name and value of your choosing for each one.
/// UserProperty names can be up to 24 characters long, may only contain alphanumeric characters and
/// underscores ("_"), and must start with an alphabetic character. UserProperty values can be up to
/// 36 characters long. The "firebase_" prefix is reserved and should not be used.
/// The method used to sign in. For example, "google", "facebook" or "twitter".
static
NSString
*
const
kFIRUserPropertySignUpMethod
=
@"sign_up_method"
;
Examples/simple-fcm-client/ios/FirebaseAnalytics.framework/Headers/FirebaseAnalytics.h
0 → 100755
View file @
05849626
// Generated umbrella header for FirebaseAnalytics.
#import "FIRAnalytics+AppDelegate.h"
#import "FIRAnalytics.h"
#import "FIRAnalyticsConfiguration.h"
#import "FIRApp.h"
#import "FIRConfiguration.h"
#import "FIREventNames.h"
#import "FIROptions.h"
#import "FIRParameterNames.h"
#import "FIRUserPropertyNames.h"
Examples/simple-fcm-client/ios/FirebaseAnalytics.framework/Modules/module.modulemap
0 → 100755
View file @
05849626
framework module FirebaseAnalytics {
export *
umbrella header "FirebaseAnalytics.h"
header "FIRAnalytics+AppDelegate.h"
header "FIRAnalytics.h"
header "FIRAnalyticsConfiguration.h"
header "FIRApp.h"
header "FIRConfiguration.h"
header "FIREventNames.h"
header "FIROptions.h"
header "FIRParameterNames.h"
header "FIRUserPropertyNames.h"
link framework "AddressBook"
link framework "StoreKit"
link "c++"
link "sqlite3"
link "z"
}
Examples/simple-fcm-client/ios/FirebaseCore.framework/FirebaseCore
0 → 100755
View file @
05849626
File added
Examples/simple-fcm-client/ios/FirebaseCore.framework/Headers/FIRAnalyticsConfiguration.h
0 → 100755
View file @
05849626
#import <Foundation/Foundation.h>
/**
* This class provides configuration fields for Firebase Analytics.
*/
@interface
FIRAnalyticsConfiguration
:
NSObject
/**
* Returns the shared instance of FIRAnalyticsConfiguration.
*/
+
(
FIRAnalyticsConfiguration
*
)
sharedInstance
;
/**
* Sets the minimum engagement time in seconds required to start a new session. The default value
* is 10 seconds.
*/
-
(
void
)
setMinimumSessionInterval
:(
NSTimeInterval
)
minimumSessionInterval
;
/**
* Sets the interval of inactivity in seconds that terminates the current session. The default
* value is 1800 seconds (30 minutes).
*/
-
(
void
)
setSessionTimeoutInterval
:(
NSTimeInterval
)
sessionTimeoutInterval
;
/**
* Sets whether analytics collection is enabled for this app on this device. This setting is
* persisted across app sessions. By default it is enabled.
*/
-
(
void
)
setAnalyticsCollectionEnabled
:(
BOOL
)
analyticsCollectionEnabled
;
/**
* Deprecated. Sets whether measurement and reporting are enabled for this app on this device. By
* default they are enabled.
*/
-
(
void
)
setIsEnabled
:(
BOOL
)
isEnabled
DEPRECATED_MSG_ATTRIBUTE
(
"Use setAnalyticsCollectionEnabled: instead."
);
@end
Examples/simple-fcm-client/ios/FirebaseCore.framework/Headers/FIRApp.h
0 → 100755
View file @
05849626
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
@class
FIROptions
;
NS_ASSUME_NONNULL_BEGIN
typedef
void
(
^
FIRAppVoidBoolCallback
)(
BOOL
success
);
/**
* The entry point of Firebase SDKs.
*
* Initialize and configure FIRApp using [FIRApp configure];
* Or other customized ways as shown below.
*
* The logging system has two modes: default mode and debug mode. In default mode, only logs with
* log level Notice, Warning and Error will be sent to device. In debug mode, all logs will be sent
* to device. The log levels that Firebase uses are consistent with the ASL log levels.
*
* Enable debug mode by passing the -FIRDebugEnabled argument to the application. You can add this
* argument in the application's Xcode scheme. When debug mode is enabled via -FIRDebugEnabled,
* further executions of the application will also be in debug mode. In order to return to default
* mode, you must explicitly disable the debug mode with the application argument -FIRDebugDisabled.
*/
@interface
FIRApp
:
NSObject
/**
* Configures a default Firebase app. Raises an exception if any configuration step fails. The
* default app is named "__FIRAPP_DEFAULT". This method should be called after the app is launched
* and before using Firebase services. This method is thread safe.
*/
+
(
void
)
configure
;
/**
* Configures the default Firebase app with the provided options. The default app is named
* "__FIRAPP_DEFAULT". Raises an exception if any configuration step fails. This method is thread
* safe.
*
* @param options The Firebase application options used to configure the service.
*/
+
(
void
)
configureWithOptions
:(
FIROptions
*
)
options
;
/**
* Configures a Firebase app with the given name and options. Raises an exception if any
* configuration step fails. This method is thread safe.
*
* @param name The application's name given by the developer. The name should should only contain
Letters, Numbers and Underscore.
* @param options The Firebase application options used to configure the services.
*/
+
(
void
)
configureWithName
:(
NSString
*
)
name
options
:(
FIROptions
*
)
options
;
/**
* Returns the default app, or nil if the default app does not exist.
*/
+
(
nullable
FIRApp
*
)
defaultApp
NS_SWIFT_NAME
(
defaultApp
());
/**
* Returns a previously created FIRApp instance with the given name, or nil if no such app exists.
* This method is thread safe.
*/
+
(
nullable
FIRApp
*
)
appNamed
:(
NSString
*
)
name
;
/**
* Returns the set of all extant FIRApp instances, or nil if there is no FIRApp instance. This
* method is thread safe.
*/
+
(
nullable
NSDictionary
*
)
allApps
;
/**
* Cleans up the current FIRApp, freeing associated data and returning its name to the pool for
* future use. This method is thread safe in class level.
*/
-
(
void
)
deleteApp
:(
FIRAppVoidBoolCallback
)
completion
;
/**
* FIRFirebaseApp instances should not be initialized directly. Call |FIRApp configure|, or
* |FIRApp configureWithOptions:|, or |FIRApp configureWithNames:options| directly.
*/
-
(
nullable
instancetype
)
init
NS_UNAVAILABLE
;
/**
* Gets the name of this app.
*/
@property
(
nonatomic
,
copy
,
readonly
)
NSString
*
name
;
/**
* Gets the options for this app.
*/
@property
(
nonatomic
,
readonly
)
FIROptions
*
options
;
@end
NS_ASSUME_NONNULL_END
Examples/simple-fcm-client/ios/FirebaseCore.framework/Headers/FIRConfiguration.h
0 → 100755
View file @
05849626
#import <Foundation/Foundation.h>
#import "FIRAnalyticsConfiguration.h"
/**
* The log levels used by FIRConfiguration.
*/
typedef
NS_ENUM
(
NSInteger
,
FIRLogLevel
)
{
kFIRLogLevelError
__deprecated
=
0
,
kFIRLogLevelWarning
__deprecated
,
kFIRLogLevelInfo
__deprecated
,
kFIRLogLevelDebug
__deprecated
,
kFIRLogLevelAssert
__deprecated
,
kFIRLogLevelMax
__deprecated
=
kFIRLogLevelAssert
}
DEPRECATED_MSG_ATTRIBUTE
(
"Use -FIRDebugEnabled and -FIRDebugDisabled. See FIRApp.h for more details."
);
/**
* This interface provides global level properties that the developer can tweak, and the singleton
* of the Firebase Analytics configuration class.
*/
@interface
FIRConfiguration
:
NSObject
+
(
FIRConfiguration
*
)
sharedInstance
;
// The configuration class for Firebase Analytics.
@property
(
nonatomic
,
readwrite
)
FIRAnalyticsConfiguration
*
analyticsConfiguration
;
// Global log level. Defaults to kFIRLogLevelError.
@property
(
nonatomic
,
readwrite
,
assign
)
FIRLogLevel
logLevel
DEPRECATED_MSG_ATTRIBUTE
(
"Use -FIRDebugEnabled and -FIRDebugDisabled. See FIRApp.h for more details."
);
@end
Examples/simple-fcm-client/ios/FirebaseCore.framework/Headers/FIROptions.h
0 → 100755
View file @
05849626
#import <Foundation/Foundation.h>
/**
* This class provides constant fields of Google APIs.
*/
@interface
FIROptions
:
NSObject
<
NSCopying
>
/**
* Returns the default options.
*/
+
(
FIROptions
*
)
defaultOptions
;
/**
* An iOS API key used for authenticating requests from your app, e.g.
* @"AIzaSyDdVgKwhZl0sTTTLZ7iTmt1r3N2cJLnaDk", used to identify your app to Google servers.
*/
@property
(
nonatomic
,
readonly
,
copy
)
NSString
*
APIKey
;
/**
* The OAuth2 client ID for iOS application used to authenticate Google users, for example
* @"12345.apps.googleusercontent.com", used for signing in with Google.
*/
@property
(
nonatomic
,
readonly
,
copy
)
NSString
*
clientID
;
/**
* The tracking ID for Google Analytics, e.g. @"UA-12345678-1", used to configure Google Analytics.
*/
@property
(
nonatomic
,
readonly
,
copy
)
NSString
*
trackingID
;
/**
* The Project Number from the Google Developer's console, for example @"012345678901", used to
* configure Google Cloud Messaging.
*/
@property
(
nonatomic
,
readonly
,
copy
)
NSString
*
GCMSenderID
;
/**
* The Android client ID used in Google AppInvite when an iOS app has its Android version, for
* example @"12345.apps.googleusercontent.com".
*/
@property
(
nonatomic
,
readonly
,
copy
)
NSString
*
androidClientID
;
/**
* The Google App ID that is used to uniquely identify an instance of an app.
*/
@property
(
nonatomic
,
readonly
,
copy
)
NSString
*
googleAppID
;
/**
* The database root URL, e.g. @"http://abc-xyz-123.firebaseio.com".
*/
@property
(
nonatomic
,
readonly
,
copy
)
NSString
*
databaseURL
;
/**
* The URL scheme used to set up Durable Deep Link service.
*/
@property
(
nonatomic
,
readwrite
,
copy
)
NSString
*
deepLinkURLScheme
;
/**
* The Google Cloud Storage bucket name, e.g. @"abc-xyz-123.storage.firebase.com".
*/
@property
(
nonatomic
,
readonly
,
copy
)
NSString
*
storageBucket
;
/**
* Initializes a customized instance of FIROptions with keys. googleAppID, bundleID and GCMSenderID
* are required. Other keys may required for configuring specific services.
*/
-
(
instancetype
)
initWithGoogleAppID
:(
NSString
*
)
googleAppID
bundleID
:(
NSString
*
)
bundleID
GCMSenderID
:(
NSString
*
)
GCMSenderID
APIKey
:(
NSString
*
)
APIKey
clientID
:(
NSString
*
)
clientID
trackingID
:(
NSString
*
)
trackingID
androidClientID
:(
NSString
*
)
androidClientID
databaseURL
:(
NSString
*
)
databaseURL
storageBucket
:(
NSString
*
)
storageBucket
deepLinkURLScheme
:(
NSString
*
)
deepLinkURLScheme
;
/**
* Initializes a customized instance of FIROptions from the file at the given plist file path.
* For example,
* NSString *filePath =
* [[NSBundle mainBundle] pathForResource:@"GoogleService-Info" ofType:@"plist"];
* FIROptions *options = [[FIROptions alloc] initWithContentsOfFile:filePath];
* Returns nil if the plist file does not exist or is invalid.
*/
-
(
instancetype
)
initWithContentsOfFile
:(
NSString
*
)
plistPath
;
@end
Examples/simple-fcm-client/ios/FirebaseCore.framework/Headers/FirebaseCore.h
0 → 100755
View file @
05849626
// Generated umbrella header for FirebaseCore.
#import "FIRAnalyticsConfiguration.h"
#import "FIRApp.h"
#import "FIRConfiguration.h"
#import "FIROptions.h"
Examples/simple-fcm-client/ios/FirebaseCore.framework/Modules/module.modulemap
0 → 100755
View file @
05849626
framework module FirebaseCore {
export *
umbrella header "FirebaseCore.h"
header "FIRAnalyticsConfiguration.h"
header "FIRApp.h"
header "FIRConfiguration.h"
header "FIROptions.h"
link framework "SystemConfiguration"
link "c++"
}
Examples/simple-fcm-client/ios/FirebaseInstanceID.framework/FirebaseInstanceID
0 → 100755
View file @
05849626
File added
Examples/simple-fcm-client/ios/FirebaseInstanceID.framework/Headers/FIRInstanceID.h
0 → 100755
View file @
05849626
#import <Foundation/Foundation.h>
/**
* @memberof FIRInstanceID
*
* The scope to be used when fetching/deleting a token for Firebase Messaging.
*/
FOUNDATION_EXPORT
NSString
*
__nonnull
const
kFIRInstanceIDScopeFirebaseMessaging
;
/**
* Called when the system determines that tokens need to be refreshed.
* This method is also called if Instance ID has been reset in which
* case, tokens and FCM topic subscriptions also need to be refreshed.
*
* Instance ID service will throttle the refresh event across all devices
* to control the rate of token updates on application servers.
*/
FOUNDATION_EXPORT
NSString
*
__nonnull
const
kFIRInstanceIDTokenRefreshNotification
;
/**
* @related FIRInstanceID
*
* The completion handler invoked when the InstanceID token returns. If
* the call fails we return the appropriate `error code` as described below.
*
* @param token The valid token as returned by InstanceID backend.
*
* @param error The error describing why generating a new token
* failed. See the error codes below for a more detailed
* description.
*/
typedef
void
(
^
FIRInstanceIDTokenHandler
)(
NSString
*
__nullable
token
,
NSError
*
__nullable
error
);
/**
* @related FIRInstanceID
*
* The completion handler invoked when the InstanceID `deleteToken` returns. If
* the call fails we return the appropriate `error code` as described below
*
* @param error The error describing why deleting the token failed.
* See the error codes below for a more detailed description.
*/
typedef
void
(
^
FIRInstanceIDDeleteTokenHandler
)(
NSError
*
__nullable
error
);
/**
* @related FIRInstanceID
*
* The completion handler invoked when the app identity is created. If the
* identity wasn't created for some reason we return the appropriate error code.
*
* @param identity A valid identity for the app instance, nil if there was an error
* while creating an identity.
* @param error The error if fetching the identity fails else nil.
*/
typedef
void
(
^
FIRInstanceIDHandler
)(
NSString
*
__nullable
identity
,
NSError
*
__nullable
error
);
/**
* @related FIRInstanceID
*
* The completion handler invoked when the app identity and all the tokens associated
* with it are deleted. Returns a valid error object in case of failure else nil.
*
* @param error The error if deleting the identity and all the tokens associated with
* it fails else nil.
*/
typedef
void
(
^
FIRInstanceIDDeleteHandler
)(
NSError
*
__nullable
error
);
/**
* @enum FIRInstanceIDError
*/
typedef
NS_ENUM
(
NSUInteger
,
FIRInstanceIDError
)
{
// Http related errors.
/// Unknown error.
FIRInstanceIDErrorUnknown
=
0
,
/// Auth Error -- GCM couldn't validate request from this client.
FIRInstanceIDErrorAuthentication
=
1
,
/// NoAccess -- InstanceID service cannot be accessed.
FIRInstanceIDErrorNoAccess
=
2
,
/// Timeout -- Request to InstanceID backend timed out.
FIRInstanceIDErrorTimeout
=
3
,
/// Network -- No network available to reach the servers.
FIRInstanceIDErrorNetwork
=
4
,
/// OperationInProgress -- Another similar operation in progress,
/// bailing this one.
FIRInstanceIDErrorOperationInProgress
=
5
,
/// InvalidRequest -- Some parameters of the request were invalid.
FIRInstanceIDErrorInvalidRequest
=
7
,
};
/**
* The APNS token type for the app. If the token type is set to `UNKNOWN`
* InstanceID will implicitly try to figure out what the actual token type
* is from the provisioning profile.
*/
typedef
NS_ENUM
(
NSInteger
,
FIRInstanceIDAPNSTokenType
)
{
/// Unknown token type.
FIRInstanceIDAPNSTokenTypeUnknown
,
/// Sandbox token type.
FIRInstanceIDAPNSTokenTypeSandbox
,
/// Production token type.
FIRInstanceIDAPNSTokenTypeProd
,
};
/**
* Instance ID provides a unique identifier for each app instance and a mechanism
* to authenticate and authorize actions (for example, sending a GCM message).
*
* Instance ID is long lived but, may be reset if the device is not used for
* a long time or the Instance ID service detects a problem.
* If Instance ID is reset, the app will be notified with a `com.firebase.iid.token-refresh`
* notification.
*
* If the Instance ID has become invalid, the app can request a new one and
* send it to the app server.
* To prove ownership of Instance ID and to allow servers to access data or
* services associated with the app, call
* `[FIRInstanceID tokenWithAuthorizedEntity:scope:options:handler]`.
*/
@interface
FIRInstanceID
:
NSObject
/**
* FIRInstanceID.
*
* @return A shared instance of FIRInstanceID.
*/
+
(
nonnull
instancetype
)
instanceID
NS_SWIFT_NAME
(
instanceID
());
/**
* Unavailable. Use +instanceID instead.
*/
-
(
nonnull
instancetype
)
init
__attribute__
((
unavailable
(
"Use +instanceID instead."
)));
/**
* Set APNS token for the application. This APNS token will be used to register
* with Firebase Messaging using `token` or
* `tokenWithAuthorizedEntity:scope:options:handler`. If the token type is set to
* `FIRInstanceIDAPNSTokenTypeUnknown` InstanceID will read the provisioning profile
* to find out the token type.
*
* @param token The APNS token for the application.
* @param type The APNS token type for the above token.
*/
-
(
void
)
setAPNSToken
:(
nonnull
NSData
*
)
token
type
:(
FIRInstanceIDAPNSTokenType
)
type
;
#pragma mark - Tokens
/**
* Returns a Firebase Messaging scoped token for the firebase app.
*
* @return Null Returns null if the device has not yet been registerd with
* Firebase Message else returns a valid token.
*/
-
(
nullable
NSString
*
)
token
;
/**
* Returns a token that authorizes an Entity (example: cloud service) to perform
* an action on behalf of the application identified by Instance ID.
*
* This is similar to an OAuth2 token except, it applies to the
* application instance instead of a user.
*
* This is an asynchronous call. If the token fetching fails for some reason
* we invoke the completion callback with nil `token` and the appropriate
* error.
*
* Note, you can only have one `token` or `deleteToken` call for a given
* authorizedEntity and scope at any point of time. Making another such call with the
* same authorizedEntity and scope before the last one finishes will result in an
* error with code `OperationInProgress`.
*
* @see FIRInstanceID deleteTokenWithAuthorizedEntity:scope:handler:
*
* @param authorizedEntity Entity authorized by the token.
* @param scope Action authorized for authorizedEntity.
* @param options The extra options to be sent with your token request. The
* value for the `apns_token` should be the NSData object
* passed to UIApplication's
* `didRegisterForRemoteNotificationsWithDeviceToken` method.
* All other keys and values in the options dict need to be
* instances of NSString or else they will be discarded. Bundle
* keys starting with 'GCM.' and 'GOOGLE.' are reserved.
* @param handler The callback handler which is invoked when the token is
* successfully fetched. In case of success a valid `token` and
* `nil` error are returned. In case of any error the `token`
* is nil and a valid `error` is returned. The valid error
* codes have been documented above.
*/
-
(
void
)
tokenWithAuthorizedEntity
:(
nonnull
NSString
*
)
authorizedEntity
scope
:(
nonnull
NSString
*
)
scope
options
:(
nullable
NSDictionary
*
)
options
handler
:(
nonnull
FIRInstanceIDTokenHandler
)
handler
;
/**
* Revokes access to a scope (action) for an entity previously
* authorized by `[FIRInstanceID tokenWithAuthorizedEntity:scope:options:handler]`.
*
* This is an asynchronous call. Call this on the main thread since InstanceID lib
* is not thread safe. In case token deletion fails for some reason we invoke the
* `handler` callback passed in with the appropriate error code.
*
* Note, you can only have one `token` or `deleteToken` call for a given
* authorizedEntity and scope at a point of time. Making another such call with the
* same authorizedEntity and scope before the last one finishes will result in an error
* with code `OperationInProgress`.
*
* @param authorizedEntity Entity that must no longer have access.
* @param scope Action that entity is no longer authorized to perform.
* @param handler The handler that is invoked once the unsubscribe call ends.
* In case of error an appropriate error object is returned
* else error is nil.
*/
-
(
void
)
deleteTokenWithAuthorizedEntity
:(
nonnull
NSString
*
)
authorizedEntity
scope
:(
nonnull
NSString
*
)
scope
handler
:(
nonnull
FIRInstanceIDDeleteTokenHandler
)
handler
;
#pragma mark - Identity
/**
* Asynchronously fetch a stable identifier that uniquely identifies the app
* instance. If the identifier has been revoked or has expired, this method will
* return a new identifier.
*
*
* @param handler The handler to invoke once the identifier has been fetched.
* In case of error an appropriate error object is returned else
* a valid identifier is returned and a valid identifier for the
* application instance.
*/
-
(
void
)
getIDWithHandler
:(
nonnull
FIRInstanceIDHandler
)
handler
;
/**
* Resets Instance ID and revokes all tokens.
*/
-
(
void
)
deleteIDWithHandler
:(
nonnull
FIRInstanceIDDeleteHandler
)
handler
;
@end
Examples/simple-fcm-client/ios/FirebaseInstanceID.framework/Headers/FirebaseInstanceID.h
0 → 100755
View file @
05849626
#import "FIRInstanceID.h"
Examples/simple-fcm-client/ios/FirebaseInstanceID.framework/Modules/module.modulemap
0 → 100755
View file @
05849626
framework module FirebaseInstanceID {
export *
umbrella header "FirebaseInstanceID.h"
header "FIRInstanceID.h"
}
Examples/simple-fcm-client/ios/FirebaseMessaging.framework/FirebaseMessaging
0 → 100755
View file @
05849626
File added
Examples/simple-fcm-client/ios/FirebaseMessaging.framework/Headers/FIRMessaging.h
0 → 100755
View file @
05849626
#import <Foundation/Foundation.h>
/**
* The completion handler invoked once the data connection with FIRMessaging is
* established. The data connection is used to send a continous stream of
* data and all the FIRMessaging data notifications arrive through this connection.
* Once the connection is established we invoke the callback with `nil` error.
* Correspondingly if we get an error while trying to establish a connection
* we invoke the handler with an appropriate error object and do an
* exponential backoff to try and connect again unless successful.
*
* @param error The error object if any describing why the data connection
* to FIRMessaging failed.
*/
typedef
void
(
^
FIRMessagingConnectCompletion
)(
NSError
*
__nullable
error
);
/**
* Notification sent when the upstream message has been delivered
* successfully to the server. The notification object will be the messageID
* of the successfully delivered message.
*/
FOUNDATION_EXPORT
NSString
*
__nonnull
const
FIRMessagingSendSuccessNotification
;
/**
* Notification sent when the upstream message was failed to be sent to the
* server. The notification object will be the messageID of the failed
* message. The userInfo dictionary will contain the relevant error
* information for the failure.
*/
FOUNDATION_EXPORT
NSString
*
__nonnull
const
FIRMessagingSendErrorNotification
;
/**
* Notification sent when the Firebase messaging server deletes pending
* messages due to exceeded storage limits. This may occur, for example, when
* the device cannot be reached for an extended period of time.
*
* It is recommended to retrieve any missing messages directly from the
* server.
*/
FOUNDATION_EXPORT
NSString
*
__nonnull
const
FIRMessagingMessagesDeletedNotification
;
/**
* @enum FIRMessagingError
*/
typedef
NS_ENUM
(
NSUInteger
,
FIRMessagingError
)
{
// Unknown error.
FIRMessagingErrorUnknown
=
0
,
// Auth Error -- FIRMessaging couldn't validate request from this client.
FIRMessagingErrorAuthentication
=
1
,
// NoAccess -- InstanceID service cannot be accessed.
FIRMessagingErrorNoAccess
=
2
,
// Timeout -- Request to InstanceID backend timed out.
FIRMessagingErrorTimeout
=
3
,
// Network -- No network available to reach the servers.
FIRMessagingErrorNetwork
=
4
,
// OperationInProgress -- Another similar operation in progress,
// bailing this one.
FIRMessagingErrorOperationInProgress
=
5
,
// InvalidRequest -- Some parameters of the request were invalid.
FIRMessagingErrorInvalidRequest
=
7
,
};
/// Status for the downstream message received by the app.
typedef
NS_ENUM
(
NSInteger
,
FIRMessagingMessageStatus
)
{
FIRMessagingMessageStatusUnknown
,
/// New downstream message received by the app.
FIRMessagingMessageStatusNew
,
};
/// Information about a downstream message received by the app.
@interface
FIRMessagingMessageInfo
:
NSObject
@property
(
nonatomic
,
readonly
,
assign
)
FIRMessagingMessageStatus
status
;
@end
/**
* A remote data message received by the app via FCM (not just the APNs interface).
*
* This is only for devices running iOS 10 or above. To support devices running iOS 9 or below, use
* the local and remote notifications handlers defined in UIApplicationDelegate protocol.
*/
@interface
FIRMessagingRemoteMessage
:
NSObject
/// The downstream message received by the application.
@property
(
nonatomic
,
readonly
,
strong
,
nonnull
)
NSDictionary
*
appData
;
@end
/**
* A protocol to receive data message via FCM for devices running iOS 10 or above.
*
* To support devices running iOS 9 or below, use the local and remote notifications handlers
* defined in UIApplicationDelegate protocol.
*/
@protocol
FIRMessagingDelegate
<
NSObject
>
/// The callback to handle data message received via FCM for devices running iOS 10 or above.
-
(
void
)
applicationReceivedRemoteMessage
:(
nonnull
FIRMessagingRemoteMessage
*
)
remoteMessage
;
@end
/**
* Firebase Messaging enables apps to communicate with their app servers
* using simple messages.
*
* To send or receive messages, the app must get a
* registration token from GGLInstanceID, which authorizes an
* app server to send messages to an app instance. Pass your sender ID and
* `kGGLInstanceIDScopeFIRMessaging` as parameters to the method.
*
* A sender ID is a project number created when you configure your API project.
* It is labeled "Project Number" in the Google Developers Console.
*
* In order to receive FIRMessaging messages, declare application:didReceiveRemoteNotification:
*
* Client apps can send upstream messages back to the app server using the XMPP-based
* <a href="http://developers.google.com/cloud-messaging/ccs.html">Cloud Connection Server</a>,
*
*/
@interface
FIRMessaging
:
NSObject
/**
* Delegate to handle remote data messages received via FCM for devices running iOS 10 or above.
*/
@property
(
nonatomic
,
weak
,
nullable
)
id
<
FIRMessagingDelegate
>
remoteMessageDelegate
;
/**
* FIRMessaging
*
* @return An instance of FIRMessaging.
*/
+
(
nonnull
instancetype
)
messaging
NS_SWIFT_NAME
(
messaging
());
/**
* Unavailable. Use +messaging instead.
*/
-
(
nonnull
instancetype
)
init
__attribute__
((
unavailable
(
"Use +messaging instead."
)));
#pragma mark - Connect
/**
* Create a FIRMessaging data connection which will be used to send the data notifications
* send by your server. It will also be used to send ACKS and other messages based
* on the FIRMessaging ACKS and other messages based on the FIRMessaging protocol.
*
* Use the `disconnect` method to disconnect the connection.
*
* @see FIRMessagingService disconnect
*
* @param handler The handler to be invoked once the connection is established.
* If the connection fails we invoke the handler with an
* appropriate error code letting you know why it failed. At
* the same time, FIRMessaging performs exponential backoff to retry
* establishing a connection and invoke the handler when successful.
*/
-
(
void
)
connectWithCompletion
:(
nonnull
FIRMessagingConnectCompletion
)
handler
;
/**
* Disconnect the current FIRMessaging data connection. This stops any attempts to
* connect to FIRMessaging. Calling this on an already disconnected client is a no-op.
*
* Call this before `teardown` when your app is going to the background.
* Since the FIRMessaging connection won't be allowed to live when in background it is
* prudent to close the connection.
*/
-
(
void
)
disconnect
;
#pragma mark - Topics
/**
* Asynchronously subscribes to a topic.
*
* @param topic The name of the topic, for example @"sports".
*/
-
(
void
)
subscribeToTopic
:(
nonnull
NSString
*
)
topic
;
/**
* Asynchronously unsubscribe to a topic.
*
* @param topic The name of the topic, for example @"sports".
*/
-
(
void
)
unsubscribeFromTopic
:(
nonnull
NSString
*
)
topic
;
#pragma mark - Upstream
/**
* Sends an upstream ("device to cloud") message.
*
* The message will be queued if we don't have an active connection.
* You can only use the upstream feature if your GCM implementation
* uses the XMPP-based Cloud Connection Server.
*
* @param message Key/Value pairs to be sent. Values must be String, any
* other type will be ignored.
* @param to A string identifying the receiver of the message. For GCM
* project IDs the value is `SENDER_ID@gcm.googleapis.com`.
* @param messageID The ID of the message. This is generated by the application. It
* must be unique for each message generated by this application.
* It allows error callbacks and debugging, to uniquely identify
* each message.
* @param ttl The time to live for the message. In case we aren't able to
* send the message before the TTL expires we will send you a
* callback. If 0, we'll attempt to send immediately and return
* an error if we're not connected. Otherwise, the message will
* be queued. As for server-side messages, we don't return an error
* if the message has been dropped because of TTL; this can happen
* on the server side, and it would require extra communication.
*/
-
(
void
)
sendMessage
:(
nonnull
NSDictionary
*
)
message
to
:(
nonnull
NSString
*
)
receiver
withMessageID
:(
nonnull
NSString
*
)
messageID
timeToLive
:(
int64_t
)
ttl
;
#pragma mark - Analytics
/**
* Call this when the app received a downstream message. Used to track message
* delivery and analytics for messages. You don't need to call this if you
* don't set the `FIRMessagingAutoSetupEnabled` flag in your Info.plist. In the
* latter case the library will call this implicitly to track relevant
* messages.
*
* @param message The downstream message received by the application.
*
* @return Information about the downstream message.
*/
-
(
nonnull
FIRMessagingMessageInfo
*
)
appDidReceiveMessage
:(
nonnull
NSDictionary
*
)
message
;
@end
Examples/simple-fcm-client/ios/FirebaseMessaging.framework/Headers/FirebaseMessaging.h
0 → 100755
View file @
05849626
#import "FIRMessaging.h"
Examples/simple-fcm-client/ios/FirebaseMessaging.framework/Modules/module.modulemap
0 → 100755
View file @
05849626
framework module FirebaseMessaging {
export *
umbrella header "FirebaseMessaging.h"
header "FIRMessaging.h"
link framework "AddressBook"
link framework "SystemConfiguration"
link "sqlite3"
}
Examples/simple-fcm-client/ios/GoogleIPhoneUtilities.framework/GoogleIPhoneUtilities
0 → 100644
View file @
05849626
File added
Examples/simple-fcm-client/ios/GoogleInterchangeUtilities.framework/GoogleInterchangeUtilities
0 → 100755
View file @
05849626
File added
Examples/simple-fcm-client/ios/GoogleSymbolUtilities.framework/GoogleSymbolUtilities
0 → 100755
View file @
05849626
File added
Examples/simple-fcm-client/ios/GoogleUtilities.framework/GoogleUtilities
0 → 100755
View file @
05849626
File added
Examples/simple-fcm-client/ios/SimpleFcmClient.xcodeproj/project.pbxproj
View file @
05849626
...
@@ -5,6 +5,7 @@
...
@@ -5,6 +5,7 @@
};
};
objectVersion
=
46
;
objectVersion
=
46
;
objects
=
{
objects
=
{
/* Begin PBXBuildFile section */
/* Begin PBXBuildFile section */
00C302E51ABCBA2D00DB3ED1
/* libRCTActionSheet.a in Frameworks */
=
{
isa
=
PBXBuildFile
;
fileRef
=
00C302AC1ABCB8CE00DB3ED1
/* libRCTActionSheet.a */
;
};
00C302E51ABCBA2D00DB3ED1
/* libRCTActionSheet.a in Frameworks */
=
{
isa
=
PBXBuildFile
;
fileRef
=
00C302AC1ABCB8CE00DB3ED1
/* libRCTActionSheet.a */
;
};
00C302E71ABCBA2D00DB3ED1
/* libRCTGeolocation.a in Frameworks */
=
{
isa
=
PBXBuildFile
;
fileRef
=
00C302BA1ABCB90400DB3ED1
/* libRCTGeolocation.a */
;
};
00C302E71ABCBA2D00DB3ED1
/* libRCTGeolocation.a in Frameworks */
=
{
isa
=
PBXBuildFile
;
fileRef
=
00C302BA1ABCB90400DB3ED1
/* libRCTGeolocation.a */
;
};
...
@@ -21,6 +22,14 @@
...
@@ -21,6 +22,14 @@
13B07FC11A68108700A75B9A
/* main.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
13B07FB71A68108700A75B9A
/* main.m */
;
};
13B07FC11A68108700A75B9A
/* main.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
13B07FB71A68108700A75B9A
/* main.m */
;
};
140ED2AC1D01E1AD002B40FF
/* libReact.a in Frameworks */
=
{
isa
=
PBXBuildFile
;
fileRef
=
146834041AC3E56700842450
/* libReact.a */
;
};
140ED2AC1D01E1AD002B40FF
/* libReact.a in Frameworks */
=
{
isa
=
PBXBuildFile
;
fileRef
=
146834041AC3E56700842450
/* libReact.a */
;
};
146834051AC3E58100842450
/* libReact.a in Frameworks */
=
{
isa
=
PBXBuildFile
;
fileRef
=
146834041AC3E56700842450
/* libReact.a */
;
};
146834051AC3E58100842450
/* libReact.a in Frameworks */
=
{
isa
=
PBXBuildFile
;
fileRef
=
146834041AC3E56700842450
/* libReact.a */
;
};
4339BFD81DAEBA7300F53B62
/* FirebaseAnalytics.framework in Frameworks */
=
{
isa
=
PBXBuildFile
;
fileRef
=
4339BFD21DAEBA7300F53B62
/* FirebaseAnalytics.framework */
;
};
4339BFD91DAEBA7300F53B62
/* FirebaseCore.framework in Frameworks */
=
{
isa
=
PBXBuildFile
;
fileRef
=
4339BFD31DAEBA7300F53B62
/* FirebaseCore.framework */
;
};
4339BFDA1DAEBA7300F53B62
/* FirebaseInstanceID.framework in Frameworks */
=
{
isa
=
PBXBuildFile
;
fileRef
=
4339BFD41DAEBA7300F53B62
/* FirebaseInstanceID.framework */
;
};
4339BFDB1DAEBA7300F53B62
/* GoogleInterchangeUtilities.framework in Frameworks */
=
{
isa
=
PBXBuildFile
;
fileRef
=
4339BFD51DAEBA7300F53B62
/* GoogleInterchangeUtilities.framework */
;
};
4339BFDC1DAEBA7300F53B62
/* GoogleSymbolUtilities.framework in Frameworks */
=
{
isa
=
PBXBuildFile
;
fileRef
=
4339BFD61DAEBA7300F53B62
/* GoogleSymbolUtilities.framework */
;
};
4339BFDD1DAEBA7300F53B62
/* GoogleUtilities.framework in Frameworks */
=
{
isa
=
PBXBuildFile
;
fileRef
=
4339BFD71DAEBA7300F53B62
/* GoogleUtilities.framework */
;
};
4339BFE01DAEBA7F00F53B62
/* FirebaseMessaging.framework in Frameworks */
=
{
isa
=
PBXBuildFile
;
fileRef
=
4339BFDE1DAEBA7F00F53B62
/* FirebaseMessaging.framework */
;
};
4339BFE11DAEBA7F00F53B62
/* GoogleIPhoneUtilities.framework in Frameworks */
=
{
isa
=
PBXBuildFile
;
fileRef
=
4339BFDF1DAEBA7F00F53B62
/* GoogleIPhoneUtilities.framework */
;
};
832341BD1AAA6AB300B99B32
/* libRCTText.a in Frameworks */
=
{
isa
=
PBXBuildFile
;
fileRef
=
832341B51AAA6A8300B99B32
/* libRCTText.a */
;
};
832341BD1AAA6AB300B99B32
/* libRCTText.a in Frameworks */
=
{
isa
=
PBXBuildFile
;
fileRef
=
832341B51AAA6A8300B99B32
/* libRCTText.a */
;
};
FAE94A218EB64E38BF8D8E9B
/* libRNFIRMessaging.a in Frameworks */
=
{
isa
=
PBXBuildFile
;
fileRef
=
692E216422234A4CB6A7A838
/* libRNFIRMessaging.a */
;
};
FAE94A218EB64E38BF8D8E9B
/* libRNFIRMessaging.a in Frameworks */
=
{
isa
=
PBXBuildFile
;
fileRef
=
692E216422234A4CB6A7A838
/* libRNFIRMessaging.a */
;
};
/* End PBXBuildFile section */
/* End PBXBuildFile section */
...
@@ -89,6 +98,13 @@
...
@@ -89,6 +98,13 @@
remoteGlobalIDString
=
83CBBA2E1A601D0E00E9B192
;
remoteGlobalIDString
=
83CBBA2E1A601D0E00E9B192
;
remoteInfo
=
React
;
remoteInfo
=
React
;
};
};
4339BFCF1DAEBA3900F53B62
/* PBXContainerItemProxy */
=
{
isa
=
PBXContainerItemProxy
;
containerPortal
=
C7DEB70C413E484CBFA6AC45
/* RNFIRMessaging.xcodeproj */
;
proxyType
=
2
;
remoteGlobalIDString
=
134814201AA4EA6300B7C361
;
remoteInfo
=
RNFIRMessaging
;
};
78C398B81ACF4ADC00677621
/* PBXContainerItemProxy */
=
{
78C398B81ACF4ADC00677621
/* PBXContainerItemProxy */
=
{
isa
=
PBXContainerItemProxy
;
isa
=
PBXContainerItemProxy
;
containerPortal
=
78C398B01ACF4ADC00677621
/* RCTLinking.xcodeproj */
;
containerPortal
=
78C398B01ACF4ADC00677621
/* RCTLinking.xcodeproj */
;
...
@@ -106,17 +122,17 @@
...
@@ -106,17 +122,17 @@
/* End PBXContainerItemProxy section */
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
/* Begin PBXFileReference section */
008F07F21AC5B25A0029DE68
/* main.jsbundle */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
text
;
name
=
main.jsbundle
;
path
=
main.jsbundle
;
sourceTree
=
"<group>"
;
};
008F07F21AC5B25A0029DE68
/* main.jsbundle */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
text
;
path
=
main.jsbundle
;
sourceTree
=
"<group>"
;
};
00C302A71ABCB8CE00DB3ED1
/* RCTActionSheet.xcodeproj */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
"wrapper.pb-project"
;
name
=
RCTActionSheet.xcodeproj
;
path
=
../node_modules/react-native/Libraries/ActionSheetIOS/RCTActionSheet.xcodeproj
;
sourceTree
=
"<group>"
;
};
00C302A71ABCB8CE00DB3ED1
/* RCTActionSheet.xcodeproj */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
"wrapper.pb-project"
;
name
=
RCTActionSheet.xcodeproj
;
path
=
"../node_modules/react-native/Libraries/ActionSheetIOS/RCTActionSheet.xcodeproj"
;
sourceTree
=
"<group>"
;
};
00C302B51ABCB90400DB3ED1
/* RCTGeolocation.xcodeproj */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
"wrapper.pb-project"
;
name
=
RCTGeolocation.xcodeproj
;
path
=
../node_modules/react-native/Libraries/Geolocation/RCTGeolocation.xcodeproj
;
sourceTree
=
"<group>"
;
};
00C302B51ABCB90400DB3ED1
/* RCTGeolocation.xcodeproj */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
"wrapper.pb-project"
;
name
=
RCTGeolocation.xcodeproj
;
path
=
"../node_modules/react-native/Libraries/Geolocation/RCTGeolocation.xcodeproj"
;
sourceTree
=
"<group>"
;
};
00C302BB1ABCB91800DB3ED1
/* RCTImage.xcodeproj */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
"wrapper.pb-project"
;
name
=
RCTImage.xcodeproj
;
path
=
../node_modules/react-native/Libraries/Image/RCTImage.xcodeproj
;
sourceTree
=
"<group>"
;
};
00C302BB1ABCB91800DB3ED1
/* RCTImage.xcodeproj */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
"wrapper.pb-project"
;
name
=
RCTImage.xcodeproj
;
path
=
"../node_modules/react-native/Libraries/Image/RCTImage.xcodeproj"
;
sourceTree
=
"<group>"
;
};
00C302D31ABCB9D200DB3ED1
/* RCTNetwork.xcodeproj */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
"wrapper.pb-project"
;
name
=
RCTNetwork.xcodeproj
;
path
=
../node_modules/react-native/Libraries/Network/RCTNetwork.xcodeproj
;
sourceTree
=
"<group>"
;
};
00C302D31ABCB9D200DB3ED1
/* RCTNetwork.xcodeproj */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
"wrapper.pb-project"
;
name
=
RCTNetwork.xcodeproj
;
path
=
"../node_modules/react-native/Libraries/Network/RCTNetwork.xcodeproj"
;
sourceTree
=
"<group>"
;
};
00C302DF1ABCB9EE00DB3ED1
/* RCTVibration.xcodeproj */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
"wrapper.pb-project"
;
name
=
RCTVibration.xcodeproj
;
path
=
../node_modules/react-native/Libraries/Vibration/RCTVibration.xcodeproj
;
sourceTree
=
"<group>"
;
};
00C302DF1ABCB9EE00DB3ED1
/* RCTVibration.xcodeproj */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
"wrapper.pb-project"
;
name
=
RCTVibration.xcodeproj
;
path
=
"../node_modules/react-native/Libraries/Vibration/RCTVibration.xcodeproj"
;
sourceTree
=
"<group>"
;
};
00E356EE1AD99517003FC87E
/* SimpleFcmClientTests.xctest */
=
{
isa
=
PBXFileReference
;
explicitFileType
=
wrapper.cfbundle
;
includeInIndex
=
0
;
path
=
SimpleFcmClientTests.xctest
;
sourceTree
=
BUILT_PRODUCTS_DIR
;
};
00E356EE1AD99517003FC87E
/* SimpleFcmClientTests.xctest */
=
{
isa
=
PBXFileReference
;
explicitFileType
=
wrapper.cfbundle
;
includeInIndex
=
0
;
path
=
SimpleFcmClientTests.xctest
;
sourceTree
=
BUILT_PRODUCTS_DIR
;
};
00E356F11AD99517003FC87E
/* Info.plist */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
text.plist.xml
;
path
=
Info.plist
;
sourceTree
=
"<group>"
;
};
00E356F11AD99517003FC87E
/* Info.plist */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
text.plist.xml
;
path
=
Info.plist
;
sourceTree
=
"<group>"
;
};
00E356F21AD99517003FC87E
/* SimpleFcmClientTests.m */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.c.objc
;
path
=
SimpleFcmClientTests.m
;
sourceTree
=
"<group>"
;
};
00E356F21AD99517003FC87E
/* SimpleFcmClientTests.m */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.c.objc
;
path
=
SimpleFcmClientTests.m
;
sourceTree
=
"<group>"
;
};
139105B61AF99BAD00B5F7CC
/* RCTSettings.xcodeproj */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
"wrapper.pb-project"
;
name
=
RCTSettings.xcodeproj
;
path
=
../node_modules/react-native/Libraries/Settings/RCTSettings.xcodeproj
;
sourceTree
=
"<group>"
;
};
139105B61AF99BAD00B5F7CC
/* RCTSettings.xcodeproj */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
"wrapper.pb-project"
;
name
=
RCTSettings.xcodeproj
;
path
=
"../node_modules/react-native/Libraries/Settings/RCTSettings.xcodeproj"
;
sourceTree
=
"<group>"
;
};
139FDEE61B06529A00C62182
/* RCTWebSocket.xcodeproj */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
"wrapper.pb-project"
;
name
=
RCTWebSocket.xcodeproj
;
path
=
../node_modules/react-native/Libraries/WebSocket/RCTWebSocket.xcodeproj
;
sourceTree
=
"<group>"
;
};
139FDEE61B06529A00C62182
/* RCTWebSocket.xcodeproj */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
"wrapper.pb-project"
;
name
=
RCTWebSocket.xcodeproj
;
path
=
"../node_modules/react-native/Libraries/WebSocket/RCTWebSocket.xcodeproj"
;
sourceTree
=
"<group>"
;
};
13B07F961A680F5B00A75B9A
/* SimpleFcmClient.app */
=
{
isa
=
PBXFileReference
;
explicitFileType
=
wrapper.application
;
includeInIndex
=
0
;
path
=
SimpleFcmClient.app
;
sourceTree
=
BUILT_PRODUCTS_DIR
;
};
13B07F961A680F5B00A75B9A
/* SimpleFcmClient.app */
=
{
isa
=
PBXFileReference
;
explicitFileType
=
wrapper.application
;
includeInIndex
=
0
;
path
=
SimpleFcmClient.app
;
sourceTree
=
BUILT_PRODUCTS_DIR
;
};
13B07FAF1A68108700A75B9A
/* AppDelegate.h */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.h
;
name
=
AppDelegate.h
;
path
=
SimpleFcmClient/AppDelegate.h
;
sourceTree
=
"<group>"
;
};
13B07FAF1A68108700A75B9A
/* AppDelegate.h */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.h
;
name
=
AppDelegate.h
;
path
=
SimpleFcmClient/AppDelegate.h
;
sourceTree
=
"<group>"
;
};
13B07FB01A68108700A75B9A
/* AppDelegate.m */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.objc
;
name
=
AppDelegate.m
;
path
=
SimpleFcmClient/AppDelegate.m
;
sourceTree
=
"<group>"
;
};
13B07FB01A68108700A75B9A
/* AppDelegate.m */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.objc
;
name
=
AppDelegate.m
;
path
=
SimpleFcmClient/AppDelegate.m
;
sourceTree
=
"<group>"
;
};
...
@@ -124,11 +140,21 @@
...
@@ -124,11 +140,21 @@
13B07FB51A68108700A75B9A
/* Images.xcassets */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
folder.assetcatalog
;
name
=
Images.xcassets
;
path
=
SimpleFcmClient/Images.xcassets
;
sourceTree
=
"<group>"
;
};
13B07FB51A68108700A75B9A
/* Images.xcassets */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
folder.assetcatalog
;
name
=
Images.xcassets
;
path
=
SimpleFcmClient/Images.xcassets
;
sourceTree
=
"<group>"
;
};
13B07FB61A68108700A75B9A
/* Info.plist */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
text.plist.xml
;
name
=
Info.plist
;
path
=
SimpleFcmClient/Info.plist
;
sourceTree
=
"<group>"
;
};
13B07FB61A68108700A75B9A
/* Info.plist */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
text.plist.xml
;
name
=
Info.plist
;
path
=
SimpleFcmClient/Info.plist
;
sourceTree
=
"<group>"
;
};
13B07FB71A68108700A75B9A
/* main.m */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.objc
;
name
=
main.m
;
path
=
SimpleFcmClient/main.m
;
sourceTree
=
"<group>"
;
};
13B07FB71A68108700A75B9A
/* main.m */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.objc
;
name
=
main.m
;
path
=
SimpleFcmClient/main.m
;
sourceTree
=
"<group>"
;
};
146833FF1AC3E56700842450
/* React.xcodeproj */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
"wrapper.pb-project"
;
name
=
React.xcodeproj
;
path
=
../node_modules/react-native/React/React.xcodeproj
;
sourceTree
=
"<group>"
;
};
146833FF1AC3E56700842450
/* React.xcodeproj */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
"wrapper.pb-project"
;
name
=
React.xcodeproj
;
path
=
"../node_modules/react-native/React/React.xcodeproj"
;
sourceTree
=
"<group>"
;
};
78C398B01ACF4ADC00677621
/* RCTLinking.xcodeproj */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
"wrapper.pb-project"
;
name
=
RCTLinking.xcodeproj
;
path
=
../node_modules/react-native/Libraries/LinkingIOS/RCTLinking.xcodeproj
;
sourceTree
=
"<group>"
;
};
4339BFD21DAEBA7300F53B62
/* FirebaseAnalytics.framework */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
wrapper.framework
;
path
=
FirebaseAnalytics.framework
;
sourceTree
=
"<group>"
;
};
832341B01AAA6A8300B99B32
/* RCTText.xcodeproj */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
"wrapper.pb-project"
;
name
=
RCTText.xcodeproj
;
path
=
../node_modules/react-native/Libraries/Text/RCTText.xcodeproj
;
sourceTree
=
"<group>"
;
};
4339BFD31DAEBA7300F53B62
/* FirebaseCore.framework */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
wrapper.framework
;
path
=
FirebaseCore.framework
;
sourceTree
=
"<group>"
;
};
C7DEB70C413E484CBFA6AC45
/* RNFIRMessaging.xcodeproj */
=
{
isa
=
PBXFileReference
;
name
=
"RNFIRMessaging.xcodeproj"
;
path
=
"../node_modules/react-native-fcm/ios/RNFIRMessaging.xcodeproj"
;
sourceTree
=
"<group>"
;
fileEncoding
=
undefined
;
lastKnownFileType
=
wrapper.pb-project
;
explicitFileType
=
undefined
;
includeInIndex
=
0
;
};
4339BFD41DAEBA7300F53B62
/* FirebaseInstanceID.framework */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
wrapper.framework
;
path
=
FirebaseInstanceID.framework
;
sourceTree
=
"<group>"
;
};
692E216422234A4CB6A7A838
/* libRNFIRMessaging.a */
=
{
isa
=
PBXFileReference
;
name
=
"libRNFIRMessaging.a"
;
path
=
"libRNFIRMessaging.a"
;
sourceTree
=
"<group>"
;
fileEncoding
=
undefined
;
lastKnownFileType
=
archive.ar
;
explicitFileType
=
undefined
;
includeInIndex
=
0
;
};
4339BFD51DAEBA7300F53B62
/* GoogleInterchangeUtilities.framework */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
wrapper.framework
;
path
=
GoogleInterchangeUtilities.framework
;
sourceTree
=
"<group>"
;
};
4339BFD61DAEBA7300F53B62
/* GoogleSymbolUtilities.framework */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
wrapper.framework
;
path
=
GoogleSymbolUtilities.framework
;
sourceTree
=
"<group>"
;
};
4339BFD71DAEBA7300F53B62
/* GoogleUtilities.framework */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
wrapper.framework
;
path
=
GoogleUtilities.framework
;
sourceTree
=
"<group>"
;
};
4339BFDE1DAEBA7F00F53B62
/* FirebaseMessaging.framework */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
wrapper.framework
;
path
=
FirebaseMessaging.framework
;
sourceTree
=
"<group>"
;
};
4339BFDF1DAEBA7F00F53B62
/* GoogleIPhoneUtilities.framework */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
wrapper.framework
;
path
=
GoogleIPhoneUtilities.framework
;
sourceTree
=
"<group>"
;
};
4339BFE21DAEBB3500F53B62
/* Firebase.h */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.c.h
;
path
=
Firebase.h
;
sourceTree
=
"<group>"
;
};
4339BFE31DAEBB4800F53B62
/* module.modulemap */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
"sourcecode.module-map"
;
path
=
module.modulemap
;
sourceTree
=
"<group>"
;
};
692E216422234A4CB6A7A838
/* libRNFIRMessaging.a */
=
{
isa
=
PBXFileReference
;
explicitFileType
=
undefined
;
fileEncoding
=
9
;
includeInIndex
=
0
;
lastKnownFileType
=
archive.ar
;
path
=
libRNFIRMessaging.a
;
sourceTree
=
"<group>"
;
};
78C398B01ACF4ADC00677621
/* RCTLinking.xcodeproj */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
"wrapper.pb-project"
;
name
=
RCTLinking.xcodeproj
;
path
=
"../node_modules/react-native/Libraries/LinkingIOS/RCTLinking.xcodeproj"
;
sourceTree
=
"<group>"
;
};
832341B01AAA6A8300B99B32
/* RCTText.xcodeproj */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
"wrapper.pb-project"
;
name
=
RCTText.xcodeproj
;
path
=
"../node_modules/react-native/Libraries/Text/RCTText.xcodeproj"
;
sourceTree
=
"<group>"
;
};
C7DEB70C413E484CBFA6AC45
/* RNFIRMessaging.xcodeproj */
=
{
isa
=
PBXFileReference
;
explicitFileType
=
undefined
;
fileEncoding
=
9
;
includeInIndex
=
0
;
lastKnownFileType
=
"wrapper.pb-project"
;
name
=
RNFIRMessaging.xcodeproj
;
path
=
"../node_modules/react-native-fcm/ios/RNFIRMessaging.xcodeproj"
;
sourceTree
=
"<group>"
;
};
/* End PBXFileReference section */
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
/* Begin PBXFrameworksBuildPhase section */
...
@@ -145,14 +171,22 @@
...
@@ -145,14 +171,22 @@
buildActionMask
=
2147483647
;
buildActionMask
=
2147483647
;
files
=
(
files
=
(
146834051AC3E58100842450
/* libReact.a in Frameworks */
,
146834051AC3E58100842450
/* libReact.a in Frameworks */
,
4339BFD91DAEBA7300F53B62
/* FirebaseCore.framework in Frameworks */
,
00C302E51ABCBA2D00DB3ED1
/* libRCTActionSheet.a in Frameworks */
,
00C302E51ABCBA2D00DB3ED1
/* libRCTActionSheet.a in Frameworks */
,
00C302E71ABCBA2D00DB3ED1
/* libRCTGeolocation.a in Frameworks */
,
00C302E71ABCBA2D00DB3ED1
/* libRCTGeolocation.a in Frameworks */
,
00C302E81ABCBA2D00DB3ED1
/* libRCTImage.a in Frameworks */
,
00C302E81ABCBA2D00DB3ED1
/* libRCTImage.a in Frameworks */
,
133E29F31AD74F7200F7D852
/* libRCTLinking.a in Frameworks */
,
133E29F31AD74F7200F7D852
/* libRCTLinking.a in Frameworks */
,
4339BFE01DAEBA7F00F53B62
/* FirebaseMessaging.framework in Frameworks */
,
00C302E91ABCBA2D00DB3ED1
/* libRCTNetwork.a in Frameworks */
,
00C302E91ABCBA2D00DB3ED1
/* libRCTNetwork.a in Frameworks */
,
139105C61AF99C1200B5F7CC
/* libRCTSettings.a in Frameworks */
,
139105C61AF99C1200B5F7CC
/* libRCTSettings.a in Frameworks */
,
832341BD1AAA6AB300B99B32
/* libRCTText.a in Frameworks */
,
832341BD1AAA6AB300B99B32
/* libRCTText.a in Frameworks */
,
4339BFDB1DAEBA7300F53B62
/* GoogleInterchangeUtilities.framework in Frameworks */
,
4339BFE11DAEBA7F00F53B62
/* GoogleIPhoneUtilities.framework in Frameworks */
,
4339BFDC1DAEBA7300F53B62
/* GoogleSymbolUtilities.framework in Frameworks */
,
4339BFD81DAEBA7300F53B62
/* FirebaseAnalytics.framework in Frameworks */
,
00C302EA1ABCBA2D00DB3ED1
/* libRCTVibration.a in Frameworks */
,
00C302EA1ABCBA2D00DB3ED1
/* libRCTVibration.a in Frameworks */
,
4339BFDD1DAEBA7300F53B62
/* GoogleUtilities.framework in Frameworks */
,
4339BFDA1DAEBA7300F53B62
/* FirebaseInstanceID.framework in Frameworks */
,
139FDEF61B0652A700C62182
/* libRCTWebSocket.a in Frameworks */
,
139FDEF61B0652A700C62182
/* libRCTWebSocket.a in Frameworks */
,
FAE94A218EB64E38BF8D8E9B
/* libRNFIRMessaging.a in Frameworks */
,
FAE94A218EB64E38BF8D8E9B
/* libRNFIRMessaging.a in Frameworks */
,
);
);
...
@@ -237,6 +271,8 @@
...
@@ -237,6 +271,8 @@
13B07FAE1A68108700A75B9A
/* SimpleFcmClient */
=
{
13B07FAE1A68108700A75B9A
/* SimpleFcmClient */
=
{
isa
=
PBXGroup
;
isa
=
PBXGroup
;
children
=
(
children
=
(
4339BFE31DAEBB4800F53B62
/* module.modulemap */
,
4339BFE21DAEBB3500F53B62
/* Firebase.h */
,
008F07F21AC5B25A0029DE68
/* main.jsbundle */
,
008F07F21AC5B25A0029DE68
/* main.jsbundle */
,
13B07FAF1A68108700A75B9A
/* AppDelegate.h */
,
13B07FAF1A68108700A75B9A
/* AppDelegate.h */
,
13B07FB01A68108700A75B9A
/* AppDelegate.m */
,
13B07FB01A68108700A75B9A
/* AppDelegate.m */
,
...
@@ -256,6 +292,29 @@
...
@@ -256,6 +292,29 @@
name
=
Products
;
name
=
Products
;
sourceTree
=
"<group>"
;
sourceTree
=
"<group>"
;
};
};
4339BFC21DAEBA3900F53B62
/* Products */
=
{
isa
=
PBXGroup
;
children
=
(
4339BFD01DAEBA3900F53B62
/* libRNFIRMessaging.a */
,
);
name
=
Products
;
sourceTree
=
"<group>"
;
};
4339BFD11DAEBA4B00F53B62
/* Frameworks */
=
{
isa
=
PBXGroup
;
children
=
(
4339BFDE1DAEBA7F00F53B62
/* FirebaseMessaging.framework */
,
4339BFDF1DAEBA7F00F53B62
/* GoogleIPhoneUtilities.framework */
,
4339BFD21DAEBA7300F53B62
/* FirebaseAnalytics.framework */
,
4339BFD31DAEBA7300F53B62
/* FirebaseCore.framework */
,
4339BFD41DAEBA7300F53B62
/* FirebaseInstanceID.framework */
,
4339BFD51DAEBA7300F53B62
/* GoogleInterchangeUtilities.framework */
,
4339BFD61DAEBA7300F53B62
/* GoogleSymbolUtilities.framework */
,
4339BFD71DAEBA7300F53B62
/* GoogleUtilities.framework */
,
);
name
=
Frameworks
;
sourceTree
=
"<group>"
;
};
78C398B11ACF4ADC00677621
/* Products */
=
{
78C398B11ACF4ADC00677621
/* Products */
=
{
isa
=
PBXGroup
;
isa
=
PBXGroup
;
children
=
(
children
=
(
...
@@ -294,6 +353,7 @@
...
@@ -294,6 +353,7 @@
isa
=
PBXGroup
;
isa
=
PBXGroup
;
children
=
(
children
=
(
13B07FAE1A68108700A75B9A
/* SimpleFcmClient */
,
13B07FAE1A68108700A75B9A
/* SimpleFcmClient */
,
4339BFD11DAEBA4B00F53B62
/* Frameworks */
,
832341AE1AAA6A7D00B99B32
/* Libraries */
,
832341AE1AAA6A7D00B99B32
/* Libraries */
,
00E356EF1AD99517003FC87E
/* SimpleFcmClientTests */
,
00E356EF1AD99517003FC87E
/* SimpleFcmClientTests */
,
83CBBA001A601CBA00E9B192
/* Products */
,
83CBBA001A601CBA00E9B192
/* Products */
,
...
@@ -417,6 +477,10 @@
...
@@ -417,6 +477,10 @@
ProductGroup
=
146834001AC3E56700842450
/* Products */
;
ProductGroup
=
146834001AC3E56700842450
/* Products */
;
ProjectRef
=
146833FF1AC3E56700842450
/* React.xcodeproj */
;
ProjectRef
=
146833FF1AC3E56700842450
/* React.xcodeproj */
;
},
},
{
ProductGroup
=
4339BFC21DAEBA3900F53B62
/* Products */
;
ProjectRef
=
C7DEB70C413E484CBFA6AC45
/* RNFIRMessaging.xcodeproj */
;
},
);
);
projectRoot
=
""
;
projectRoot
=
""
;
targets
=
(
targets
=
(
...
@@ -483,6 +547,13 @@
...
@@ -483,6 +547,13 @@
remoteRef
=
146834031AC3E56700842450
/* PBXContainerItemProxy */
;
remoteRef
=
146834031AC3E56700842450
/* PBXContainerItemProxy */
;
sourceTree
=
BUILT_PRODUCTS_DIR
;
sourceTree
=
BUILT_PRODUCTS_DIR
;
};
};
4339BFD01DAEBA3900F53B62
/* libRNFIRMessaging.a */
=
{
isa
=
PBXReferenceProxy
;
fileType
=
archive.ar
;
path
=
libRNFIRMessaging.a
;
remoteRef
=
4339BFCF1DAEBA3900F53B62
/* PBXContainerItemProxy */
;
sourceTree
=
BUILT_PRODUCTS_DIR
;
};
78C398B91ACF4ADC00677621
/* libRCTLinking.a */
=
{
78C398B91ACF4ADC00677621
/* libRCTLinking.a */
=
{
isa
=
PBXReferenceProxy
;
isa
=
PBXReferenceProxy
;
fileType
=
archive.ar
;
fileType
=
archive.ar
;
...
@@ -532,7 +603,6 @@
...
@@ -532,7 +603,6 @@
runOnlyForDeploymentPostprocessing
=
0
;
runOnlyForDeploymentPostprocessing
=
0
;
shellPath
=
/bin/sh
;
shellPath
=
/bin/sh
;
shellScript
=
"export NODE_BINARY=node\n../node_modules/react-native/packager/react-native-xcode.sh"
;
shellScript
=
"export NODE_BINARY=node\n../node_modules/react-native/packager/react-native-xcode.sh"
;
showEnvVarsInLog
=
1
;
};
};
/* End PBXShellScriptBuildPhase section */
/* End PBXShellScriptBuildPhase section */
...
@@ -588,12 +658,12 @@
...
@@ -588,12 +658,12 @@
INFOPLIST_FILE
=
SimpleFcmClientTests/Info.plist
;
INFOPLIST_FILE
=
SimpleFcmClientTests/Info.plist
;
IPHONEOS_DEPLOYMENT_TARGET
=
8.0
;
IPHONEOS_DEPLOYMENT_TARGET
=
8.0
;
LD_RUNPATH_SEARCH_PATHS
=
"$(inherited) @executable_path/Frameworks @loader_path/Frameworks"
;
LD_RUNPATH_SEARCH_PATHS
=
"$(inherited) @executable_path/Frameworks @loader_path/Frameworks"
;
PRODUCT_NAME
=
"$(TARGET_NAME)"
;
TEST_HOST
=
"$(BUILT_PRODUCTS_DIR)/SimpleFcmClient.app/SimpleFcmClient"
;
LIBRARY_SEARCH_PATHS
=
(
LIBRARY_SEARCH_PATHS
=
(
"$(inherited)"
,
"$(inherited)"
,
"\"$(SRCROOT)/$(TARGET_NAME)\""
,
"\"$(SRCROOT)/$(TARGET_NAME)\""
,
);
);
PRODUCT_NAME
=
"$(TARGET_NAME)"
;
TEST_HOST
=
"$(BUILT_PRODUCTS_DIR)/SimpleFcmClient.app/SimpleFcmClient"
;
};
};
name
=
Debug
;
name
=
Debug
;
};
};
...
@@ -605,12 +675,12 @@
...
@@ -605,12 +675,12 @@
INFOPLIST_FILE
=
SimpleFcmClientTests/Info.plist
;
INFOPLIST_FILE
=
SimpleFcmClientTests/Info.plist
;
IPHONEOS_DEPLOYMENT_TARGET
=
8.0
;
IPHONEOS_DEPLOYMENT_TARGET
=
8.0
;
LD_RUNPATH_SEARCH_PATHS
=
"$(inherited) @executable_path/Frameworks @loader_path/Frameworks"
;
LD_RUNPATH_SEARCH_PATHS
=
"$(inherited) @executable_path/Frameworks @loader_path/Frameworks"
;
PRODUCT_NAME
=
"$(TARGET_NAME)"
;
TEST_HOST
=
"$(BUILT_PRODUCTS_DIR)/SimpleFcmClient.app/SimpleFcmClient"
;
LIBRARY_SEARCH_PATHS
=
(
LIBRARY_SEARCH_PATHS
=
(
"$(inherited)"
,
"$(inherited)"
,
"\"$(SRCROOT)/$(TARGET_NAME)\""
,
"\"$(SRCROOT)/$(TARGET_NAME)\""
,
);
);
PRODUCT_NAME
=
"$(TARGET_NAME)"
;
TEST_HOST
=
"$(BUILT_PRODUCTS_DIR)/SimpleFcmClient.app/SimpleFcmClient"
;
};
};
name
=
Release
;
name
=
Release
;
};
};
...
@@ -620,13 +690,17 @@
...
@@ -620,13 +690,17 @@
ASSETCATALOG_COMPILER_APPICON_NAME
=
AppIcon
;
ASSETCATALOG_COMPILER_APPICON_NAME
=
AppIcon
;
CURRENT_PROJECT_VERSION
=
1
;
CURRENT_PROJECT_VERSION
=
1
;
DEAD_CODE_STRIPPING
=
NO
;
DEAD_CODE_STRIPPING
=
NO
;
FRAMEWORK_SEARCH_PATHS
=
(
"$(inherited)"
,
"$(PROJECT_DIR)"
,
);
HEADER_SEARCH_PATHS
=
(
HEADER_SEARCH_PATHS
=
(
"$(inherited)"
,
"$(inherited)"
,
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include
,
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include
,
"$(SRCROOT)/../node_modules/react-native/React/**"
,
"$(SRCROOT)/../node_modules/react-native/React/**"
,
"$(SRCROOT)/../node_modules/react-native-fcm/ios"
,
"$(SRCROOT)/../node_modules/react-native-fcm/ios"
,
);
);
INFOPLIST_FILE
=
"SimpleFcmClient/Info.plist"
;
INFOPLIST_FILE
=
SimpleFcmClient/Info.plist
;
LD_RUNPATH_SEARCH_PATHS
=
"$(inherited) @executable_path/Frameworks"
;
LD_RUNPATH_SEARCH_PATHS
=
"$(inherited) @executable_path/Frameworks"
;
OTHER_LDFLAGS
=
(
OTHER_LDFLAGS
=
(
"$(inherited)"
,
"$(inherited)"
,
...
@@ -634,6 +708,7 @@
...
@@ -634,6 +708,7 @@
"-lc++"
,
"-lc++"
,
);
);
PRODUCT_NAME
=
SimpleFcmClient
;
PRODUCT_NAME
=
SimpleFcmClient
;
USER_HEADER_SEARCH_PATHS
=
./SimpleFcmClient/
;
VERSIONING_SYSTEM
=
"apple-generic"
;
VERSIONING_SYSTEM
=
"apple-generic"
;
};
};
name
=
Debug
;
name
=
Debug
;
...
@@ -643,13 +718,17 @@
...
@@ -643,13 +718,17 @@
buildSettings
=
{
buildSettings
=
{
ASSETCATALOG_COMPILER_APPICON_NAME
=
AppIcon
;
ASSETCATALOG_COMPILER_APPICON_NAME
=
AppIcon
;
CURRENT_PROJECT_VERSION
=
1
;
CURRENT_PROJECT_VERSION
=
1
;
FRAMEWORK_SEARCH_PATHS
=
(
"$(inherited)"
,
"$(PROJECT_DIR)"
,
);
HEADER_SEARCH_PATHS
=
(
HEADER_SEARCH_PATHS
=
(
"$(inherited)"
,
"$(inherited)"
,
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include
,
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include
,
"$(SRCROOT)/../node_modules/react-native/React/**"
,
"$(SRCROOT)/../node_modules/react-native/React/**"
,
"$(SRCROOT)/../node_modules/react-native-fcm/ios"
,
"$(SRCROOT)/../node_modules/react-native-fcm/ios"
,
);
);
INFOPLIST_FILE
=
"SimpleFcmClient/Info.plist"
;
INFOPLIST_FILE
=
SimpleFcmClient/Info.plist
;
LD_RUNPATH_SEARCH_PATHS
=
"$(inherited) @executable_path/Frameworks"
;
LD_RUNPATH_SEARCH_PATHS
=
"$(inherited) @executable_path/Frameworks"
;
OTHER_LDFLAGS
=
(
OTHER_LDFLAGS
=
(
"$(inherited)"
,
"$(inherited)"
,
...
@@ -657,6 +736,7 @@
...
@@ -657,6 +736,7 @@
"-lc++"
,
"-lc++"
,
);
);
PRODUCT_NAME
=
SimpleFcmClient
;
PRODUCT_NAME
=
SimpleFcmClient
;
USER_HEADER_SEARCH_PATHS
=
./SimpleFcmClient/
;
VERSIONING_SYSTEM
=
"apple-generic"
;
VERSIONING_SYSTEM
=
"apple-generic"
;
};
};
name
=
Release
;
name
=
Release
;
...
...
Examples/simple-fcm-client/ios/SimpleFcmClient/AppDelegate.h
View file @
05849626
...
@@ -9,7 +9,9 @@
...
@@ -9,7 +9,9 @@
#import <UIKit/UIKit.h>
#import <UIKit/UIKit.h>
@interface
AppDelegate
:
UIResponder
<
UIApplicationDelegate
>
@import
UserNotifications
;
@interface
AppDelegate
:
UIResponder
<
UIApplicationDelegate
,
UNUserNotificationCenterDelegate
>
@property
(
nonatomic
,
strong
)
UIWindow
*
window
;
@property
(
nonatomic
,
strong
)
UIWindow
*
window
;
...
...
Examples/simple-fcm-client/ios/SimpleFcmClient/AppDelegate.m
View file @
05849626
...
@@ -12,6 +12,8 @@
...
@@ -12,6 +12,8 @@
#import "RCTBundleURLProvider.h"
#import "RCTBundleURLProvider.h"
#import "RCTRootView.h"
#import "RCTRootView.h"
#import "RNFIRMessaging.h"
@implementation
AppDelegate
@implementation
AppDelegate
-
(
BOOL
)
application
:(
UIApplication
*
)
application
didFinishLaunchingWithOptions
:(
NSDictionary
*
)
launchOptions
-
(
BOOL
)
application
:(
UIApplication
*
)
application
didFinishLaunchingWithOptions
:(
NSDictionary
*
)
launchOptions
...
@@ -31,7 +33,40 @@
...
@@ -31,7 +33,40 @@
rootViewController
.
view
=
rootView
;
rootViewController
.
view
=
rootView
;
self
.
window
.
rootViewController
=
rootViewController
;
self
.
window
.
rootViewController
=
rootViewController
;
[
self
.
window
makeKeyAndVisible
];
[
self
.
window
makeKeyAndVisible
];
[
FIRApp
configure
];
#if defined(__IPHONE_10_0) && __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_10_0
[[
UNUserNotificationCenter
currentNotificationCenter
]
setDelegate
:
self
];
#endif
return
YES
;
return
YES
;
}
}
#if defined(__IPHONE_10_0) && __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_10_0
-
(
void
)
userNotificationCenter
:(
UNUserNotificationCenter
*
)
center
willPresentNotification
:(
UNNotification
*
)
notification
withCompletionHandler
:(
void
(
^
)(
UNNotificationPresentationOptions
))
completionHandler
{
[[
NSNotificationCenter
defaultCenter
]
postNotificationName
:
FCMNotificationReceived
object
:
self
userInfo
:
notification
.
request
.
content
.
userInfo
];
if
([[
notification
.
request
.
content
.
userInfo
valueForKey
:
@"show_in_foreground"
]
isEqual
:
@YES
])
{
completionHandler
(
UNNotificationPresentationOptionAlert
|
UNNotificationPresentationOptionBadge
|
UNNotificationPresentationOptionSound
);
}
else
{
completionHandler
(
UNNotificationPresentationOptionNone
);
}
}
-
(
void
)
userNotificationCenter
:(
UNUserNotificationCenter
*
)
center
didReceiveNotificationResponse
:(
UNNotificationResponse
*
)
response
withCompletionHandler
:(
void
(
^
)())
completionHandler
{
NSDictionary
*
userInfo
=
[[
NSMutableDictionary
alloc
]
initWithDictionary
:
response
.
notification
.
request
.
content
.
userInfo
];
[
userInfo
setValue
:
@YES
forKey
:
@"opened_from_tray"
];
[[
NSNotificationCenter
defaultCenter
]
postNotificationName
:
FCMNotificationReceived
object
:
self
userInfo
:
userInfo
];
}
#else
//You can skip this method if you don't want to use local notification
-
(
void
)
application
:(
UIApplication
*
)
application
didReceiveLocalNotification
:(
UILocalNotification
*
)
notification
{
[[
NSNotificationCenter
defaultCenter
]
postNotificationName
:
FCMNotificationReceived
object
:
self
+
userInfo
:
notification
.
userInfo
];
}
#endif
-
(
void
)
application
:(
UIApplication
*
)
application
didReceiveRemoteNotification
:(
nonnull
NSDictionary
*
)
userInfo
fetchCompletionHandler
:(
nonnull
void
(
^
)(
UIBackgroundFetchResult
))
completionHandler
{
[[
NSNotificationCenter
defaultCenter
]
postNotificationName
:
FCMNotificationReceived
object
:
self
userInfo
:
userInfo
];
completionHandler
(
UIBackgroundFetchResultNoData
);
}
@end
@end
Examples/simple-fcm-client/ios/module.modulemap
0 → 100644
View file @
05849626
module Firebase {
header "Firebase.h"
export *
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment