iOS - Push Message
The following method should be used for registering the application into the APNS system in AppDelagate's didFinishLaunchingWithOptions method:
Objective-C
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { if ([application respondsToSelector:@selector(registerUserNotificationSettings:)]) { UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:(UIUserNotificationTypeAlert| UIUserNotificationTypeBadge| UIUserNotificationTypeSound) categories:nil]; [application registerUserNotificationSettings:settings]; } else { UIRemoteNotificationType myTypes = UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound; [application registerForRemoteNotificationTypes:myTypes]; } }
Â
Swift
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { if #available(iOS 8.0, *) { let settings = UIUserNotificationSettings(types: [.alert, .badge, .sound], categories: nil) UIApplication.shared.registerUserNotificationSettings(settings) UIApplication.shared.registerForRemoteNotifications() } else { UIApplication.shared.registerForRemoteNotifications(matching: ([.badge, .sound, .alert])) } }
To send users push messages Visilabs servers need to receive tokens. To achieve this customEvent method need to be called passing OM.sys.AppID and OM.sys.TokenID parameters. To learn the value of OM.sys.AppID parameter send a request to RMC support. The value of token which is generated by APNS will be the value of OM.sys.TokenID key.
Objective-C
- (void) application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken { NSString *tokenString = [[[deviceToken description] stringByTrimmingCharactersInSet: [NSCharacterSet characterSetWithCharactersInString:@"<>"]] stringByReplacingOccurrencesOfString:@" " withString:@""]; NSMutableDictionary *dic = [[NSMutableDictionary alloc] init]; [dic setObject:tokenString forKey:@"OM.sys.TokenID"]; [dic setObject:@"AppID" forKey:@"OM.sys.AppID"]; [[Visilabs callAPI] customEvent:@"RegisterToken" withProperties:dic]; }
Swift
func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) { let deviceTokenString : String = deviceToken.map{ String(format: "%02x", $0) }.joined().replacingOccurrences(of: "<", with: "").replacingOccurrences(of: ">", with: "").replacingOccurrences(of: " ", with: ""); var properties = [String:String]() properties["OM.sys.TokenID"] = deviceTokenString properties["OM.sys.AppID"] = "AppID" Visilabs.callAPI().customEvent("RegisterToken", withProperties: properties) }
Parent Topic:Â iOS - Mobile Tagging
Copyright 2020 Related Digital