Versions Compared

Key

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

...

Code Block
languageapplescript
titleObjective-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];
    }
}

 

 

 

Code Block
languageapplescript
titleSwift
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.

 


Code Block
languageapplescript
titleObjective-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];
}

...

Code Block
languageapplescript
titleSwift
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: dicproperties)
    }


Parent Topic: iOS - Mobile Tagging