iOS Uninstall Tracking Setting

๐Ÿ“˜

์•ฑ ์‚ญ์ œ ์ถ”์ ์€ Airbridge iOS SDK v1.13.0 ์ดํ›„ ๋ฒ„์ „ ๋ถ€ํ„ฐ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

์„ค์ •

์—์–ด๋ธŒ๋ฆฟ์ง€ SDK ์˜ Uninstall tracking ๊ธฐ๋Šฅ์€ Silent push notification ์„ ํ™œ์šฉํ•˜์—ฌ ๊ตฌํ˜„๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ด ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์•ฑ์—์„œ Silent push notification ์ด ๋™์ž‘๋˜๋„๋ก App Identifier ์„ค์ • ๋ฐ Capabilities ์ถ”๊ฐ€, ๊ทธ๋ฆฌ๊ณ  Silent push notification ์ด ์•ฑ์— ์ „๋‹ฌ๋˜์—ˆ์„ ๋•Œ Uninstall tracking ์„ ์œ„ํ•œ ๊ฒƒ์ด๋ผ๋ฉด ๋ฌด์‹œํ•˜๋Š” ์ฝ”๋“œ ์ถ”๊ฐ€๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

ํ”„๋กœ์ ํŠธ ์„ค์ •

App Identifier ์—์„œ Push Notification ์ผœ๊ธฐ

  1. https://developer.apple.com/account/resources ์˜ Identifiers ๋กœ ์ด๋™ํ•ด ์ฃผ์„ธ์š”.
  2. Uninstall Tracking ํ•˜๊ณ ์žํ•˜๋Š” ์•ฑ์˜ Identifier ๋ฅผ ํด๋ฆญํ•˜์—ฌ Push Notifications ๋ฅผ ์ฒดํฌํ•ด ์ฃผ์„ธ์š”.
2298

Key ์—์„œ Push Notification ์ผœ๊ธฐ

  1. https://developer.apple.com/account/resources ์˜ Keys ๋กœ ์ด๋™ํ•ด ์ฃผ์„ธ์š”.
  2. ์‚ฌ์šฉํ•˜๋Š” Key ๋ฅผ edit ํ•˜์—ฌ Apple Push Notification service ๋ฅผ ์ฒดํฌํ•ด ์ฃผ์„ธ์š”.
2132

์‚ฌ์šฉํ•˜๋Š” Key ๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ + ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ ์ƒˆ๋กœ ์ƒ์„ฑํ•˜๊ณ  p8 ์„ ๋‹ค์šด๋กœ๋“œ ํ•ด์ฃผ์„ธ์š”.

App ์ •๋ณด ๋“ฑ๋ก

App ID Prefix ๋ฐ Bundle ID ๋“ฑ๋ก

2272
  1. https://developer.apple.com/account/resources ์˜ Identifiers ๋กœ ์ด๋™ํ•ด ์ฃผ์„ธ์š”.
  2. Uninstall Tracking ํ•˜๊ณ ์žํ•˜๋Š” App ์˜ Identifier ๋ฅผ ํด๋ฆญํ•ด ์ฃผ์„ธ์š”.
  3. ํ•ด๋‹น App ์˜ App ID Prefix ์™€ Bundle ID ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Key ์˜ p8 ์—…๋กœ๋“œ

2272
  1. https://developer.apple.com/account/resources ์˜ Keys ๋กœ ์ด๋™ํ•ด ์ฃผ์„ธ์š”.
  2. ์‚ฌ์šฉํ•˜๋Š” Key ๋ฅผ ํด๋ฆญํ•ด ์ฃผ์„ธ์š”.
  3. ํ•ด๋‹น Key ์˜ Key ID ์™€ p8 ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

p8 ์€ ํ•ด๋‹น Key ์ตœ์ดˆ ์ƒ์„ฑ์‹œ์—๋งŒ ๋‹ค์šด๋กœ๋“œ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

App ์„ค์ •

Capabilities ์ถ”๊ฐ€

  1. Xcode > Project ํŒŒ์ผ > Signing & Capabilities ๋กœ ์ด๋™ํ•ด์ฃผ์„ธ์š”.
  2. + Capability ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ด์ฃผ์„ธ์š”.
  3. Background Modes ์™€ Push Notifications ๋ฅผ ์ถ”๊ฐ€ํ•ด์ฃผ์„ธ์š”.
  4. Background Modes ์˜ Remote notifications ๋ฅผ ์ฒดํฌํ•ด์ฃผ์„ธ์š”.

Slient Push Notification ์„ค์ •

์•ฑ์ด ์‹คํ–‰๋  ๋•Œ, ๊ธฐ์กด์— Push Notification ์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์ง€ ์•Š์•˜๋‹ค๋ฉด registerForRemoteNotifications ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•ด ์ฃผ์„ธ์š”.

func application(_ application: UIApplication,
                 didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool
{
    ...
    UIApplication.shared.registerForRemoteNotifications()
    ...
}
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    [UIApplication.sharedApplication registerForRemoteNotifications];
  
    return YES;
}

APNS Push Token ์ „์†ก

APNS Push Token ์ด ์ƒ์„ฑ๋˜์—ˆ์„ ๋•Œ, ํ•ด๋‹น ํ† ํฐ์„ registerPushToken ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ SDK ์— ์ „๋‹ฌํ•ด์ฃผ์„ธ์š”.

func application(_ application: UIApplication,
                 didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data)
{
    AirBridge.registerPushToken(deviceToken)
}
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
    [AirBridge registerPushToken:deviceToken];
}

์‚ญ์ œ ์ถ”์  ์šฉ Silent push notification ๋ฌด์‹œ

์‚ญ์ œ ์ถ”์  ์šฉ Silent push notification ์ด ์ „๋‹ฌ๋˜์—ˆ์„ ๋•Œ, ์•„๋ž˜ ์ฝ”๋“œ์™€ ๊ฐ™์ด ๋ฌด์‹œํ•ด์ฃผ์„ธ์š”.

func application(_ application: UIApplication,
                 didReceiveRemoteNotification userInfo: [AnyHashable : Any],
                 fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void)
{
    if userInfo["airbridge-uninstall-tracking"] as? Bool == true {
        return;
    }
  
    ...
}
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler {
    if ([userInfo[@"airbridge-uninstall-tracking"] boolValue] == YES) {
        return;
    }
  
    ...
}

Troubleshooting

๋ชจํ”ผ์–ด์Šค Push SDK Troubleshooting guide

๋ชจํ”ผ์–ด์Šค Push SDK Troubleshooting guide: ๋งํฌ