2 * Copyright 2017 Google
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 #import "FIRMessaging.h"
19 @class FIRMessagingClient;
20 @class FIRMessagingPubSub;
22 typedef NS_ENUM(int8_t, FIRMessagingNetworkStatus) {
23 kFIRMessagingReachabilityNotReachable = 0,
24 kFIRMessagingReachabilityReachableViaWiFi,
25 kFIRMessagingReachabilityReachableViaWWAN,
28 FOUNDATION_EXPORT NSString *const kFIRMessagingPlistAutoInitEnabled;
29 FOUNDATION_EXPORT NSString *const kFIRMessagingUserDefaultsKeyAutoInitEnabled;
31 @interface FIRMessagingRemoteMessage ()
33 @property(nonatomic, strong) NSDictionary *appData;
37 @interface FIRMessaging ()
39 #pragma mark - Private API
41 - (NSString *)defaultFcmToken;
42 - (FIRMessagingClient *)client;
43 - (FIRMessagingPubSub *)pubsub;
45 // Create a sample message to be sent over the wire using FIRMessaging. Look at
46 // FIRMessagingService.h to see what each param signifies.
47 + (NSMutableDictionary *)createFIRMessagingMessageWithMessage:(NSDictionary *)message
49 withID:(NSString *)msgID
50 timeToLive:(int64_t)ttl
53 - (BOOL)isNetworkAvailable;
54 - (FIRMessagingNetworkStatus)networkType;