Search

Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...



Code Block
languageapplescript
titleObjective-C
- (void) application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
    NSLog(@"didRegisterForRemoteNotificationsWithDeviceToken");
    [[EuroManager sharedManager:@"AppcentIOSTest1"] registerToken:deviceToken];
}
Code Block
languageapplescript
titleSwift
    func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
        EuroManager.sharedManager("AppcentIOSTest1").registerToken(deviceToken)
    }



In the 

Status
subtletrue
colourRed
titleapplication:didRegisterForRemoteNotificationsWithDeviceToken:
 method, deviceToken variable is the generated token by APNS. After receiving this token, registerToken method is called in EuroManager. This token value must be recorded to the RMC system in order to send messages. In the example, 
Status
subtletrue
colourRed
titleAppcentIOSTest1
 value is a code value that is given by RMC for your application.

EuroManager instance is activated as shown below:


Code Block
languageapplescript
titleObjective-C
[[EuroManager sharedManager:@"AppcentIOSTest1" setUserKey: @"egemen@visilabs.com"];
[[EuroManager sharedManager:@"AppcentIOSTest1"] setUserEmail: @"egemen@visilabs.com"];
[[EuroManager sharedManager:@"AppcentIOSTest1"] synchronize];

Code Block
languageapplescript
titleSwift
let euroInstance: EuroManager = EuroManager.sharedManager("AppcentIOSTest1")
euroInstance.setUserEmail("egemen@visilabs.com")
euroInstance.setUserEmail("egemen@visilabs.com")
euroInstance("AppcentIOSTest1").synchronize()




If the additional parameters of the user are known, they can be added as shown below:

Code Block
languageapplescript
titleObjective-C
[[EuroManager sharedManager:@"AppcentIOSTest1"] userEmail: @"egemen@visilabs.com"];
[[EuroManager sharedManager:@"AppcentIOSTest1"] setUserKey: @"egemen@visilabs.com"];
[[EuroManager sharedManager:@"AppcentIOSTest1"] synchronize];

Code Block
languageapplescript
titleSwift
let euroInstance: EuroManager = EuroManager.sharedManager("AppcentIOSTest1")
euroInstance.setUserEmail("egemen@visilabs.com")
euroInstance.setUserKey("egemen@visilabs.com")
euroInstance.synchronize()




In any step, if you add a new parameter and want to send it to the RMC server, you should call the "synchronize" method:


Use the following method when the user logs in to your mobile app:

Code Block
languageapplescript
titleObjective-C
[[EuroManager sharedManager:@"AppcentIOSTest1"] synchronize];
Code Block
languageapplescript
titleSwift
EuroManager.sharedManager("AppcentIOSTest1").synchronize()


If a push notification arrives, application:didReceiveRemoteNotification method is invoked. The incoming message content should be given to the handlePush method in the EuroManager instance.


Code Block
languageapplescript
titleObjective-C
- (void) application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {
    [[EuroManager sharedManager:@"AppcentIOSTest1"] handlePush:userInfo];
}
Code Block
languageapplescript
titleSwift
func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable: Any]){
        EuroManager.sharedManager("AppcentIOSTest1").handlePush(userInfo)
}


If you are using iOS 8 or later version, the following method should be called:



Code Block
languageapplescript
titleObjective-C
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler {
    [[EuroManager sharedManager:@"AppcentIOSTest1"] handlePush:userInfo];
}
Code Block
languageapplescript
titleSwift
func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable: Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {
        EuroManager.sharedManager("AppcentIOSTest1").handlePush(userInfo, completionHandler: completionHandler)
}



When an interactive push is sent, the information of which button is clicked by the user should be transmitted to RMC. For this application: 

Status
subtletrue
colourRed
titlehandleActionWithIdentifier:forRemoteNotification:completionHandler:
 method in the 
Status
subtletrue
colourRed
titleAppDelegate
 is called as shown below:



Code Block
languageapplescript
titleObjective-C
- (void) application:(UIApplication *)application handleActionWithIdentifier:(NSString *)identifier forRemoteNotification:(NSDictionary *)userInfo completionHandler:(void (^)())completionHandler 
{ 
	[[EuroManager sharedManager:@"AppcentIOSTest1"] handleInteractiveAction:identifier userInfo:userInfo];
}



Code Block
languageapplescript
titleSwift
-optional func application(void)_ application:( UIApplication, *)application handleActionWithIdentifier:(NSString *)identifier: forRemoteNotification:(NSDictionary *)userInfo completionHandler:String?, forRemoteNotification userInfo: [AnyHashable : Any],  completionHandler: :(void (^)(void))completionHandler

{ 
 	EuroManager.sharedManager("AppcentIOSTest1").handleInteractiveAction:identifier userInfo:userInfo];
}











Variables in the Message class:


VariableDescription
messageContentMessage
URLAn optional URL
paramsCustom parameters
pushTypePush Type
altURLAlternate URL
mediaUrlImage and Video content URL
cIdCampaign id
soundSound name







Parent Topic: Push SDK

...