iOS Uninstall Tracking Setting
์ฑ ์ญ์ ์ถ์ ์ Airbridge iOS SDKv1.13.0์ดํ ๋ฒ์ ๋ถํฐ ์ฌ์ฉ ๊ฐ๋ฅํฉ๋๋ค.
์ค์
์์ด๋ธ๋ฆฟ์ง SDK ์ Uninstall tracking ๊ธฐ๋ฅ์ Silent push notification ์ ํ์ฉํ์ฌ ๊ตฌํ๋ฉ๋๋ค. ๊ทธ๋์ ์ด ๊ธฐ๋ฅ์ ์ฌ์ฉํ๊ธฐ ์ํด ์ฑ์์ Silent push notification ์ด ๋์๋๋๋ก App Identifier ์ค์ ๋ฐ Capabilities ์ถ๊ฐ, ๊ทธ๋ฆฌ๊ณ Silent push notification ์ด ์ฑ์ ์ ๋ฌ๋์์ ๋ Uninstall tracking ์ ์ํ ๊ฒ์ด๋ผ๋ฉด ๋ฌด์ํ๋ ์ฝ๋ ์ถ๊ฐ๊ฐ ํ์ํฉ๋๋ค.
ํ๋ก์ ํธ ์ค์
App Identifier ์์ Push Notification ์ผ๊ธฐ
- https://developer.apple.com/account/resources ์
Identifiers๋ก ์ด๋ํด ์ฃผ์ธ์. - Uninstall Tracking ํ๊ณ ์ํ๋ ์ฑ์
Identifier๋ฅผ ํด๋ฆญํ์ฌPush Notifications๋ฅผ ์ฒดํฌํด ์ฃผ์ธ์.
Key ์์ Push Notification ์ผ๊ธฐ
- https://developer.apple.com/account/resources ์
Keys๋ก ์ด๋ํด ์ฃผ์ธ์. - ์ฌ์ฉํ๋ Key ๋ฅผ edit ํ์ฌ
Apple Push Notification service๋ฅผ ์ฒดํฌํด ์ฃผ์ธ์.
์ฌ์ฉํ๋ Key ๊ฐ ์๋ ๊ฒฝ์ฐ
+๋ฒํผ์ ๋๋ฌ ์๋ก ์์ฑํ๊ณp8์ ๋ค์ด๋ก๋ ํด์ฃผ์ธ์.
App ์ ๋ณด ๋ฑ๋ก
App ID Prefix ๋ฐ Bundle ID ๋ฑ๋ก
- https://developer.apple.com/account/resources ์
Identifiers๋ก ์ด๋ํด ์ฃผ์ธ์. - Uninstall Tracking ํ๊ณ ์ํ๋ App ์
Identifier๋ฅผ ํด๋ฆญํด ์ฃผ์ธ์. - ํด๋น App ์
App ID Prefix์Bundle ID๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.
Key ์ p8 ์
๋ก๋
- https://developer.apple.com/account/resources ์
Keys๋ก ์ด๋ํด ์ฃผ์ธ์. - ์ฌ์ฉํ๋
Key๋ฅผ ํด๋ฆญํด ์ฃผ์ธ์. - ํด๋น
Key์Key ID์p8์ ํ์ธํ ์ ์์ต๋๋ค.
p8์ ํด๋น Key ์ต์ด ์์ฑ์์๋ง ๋ค์ด๋ก๋ ๊ฐ๋ฅํฉ๋๋ค.
App ์ค์
Capabilities ์ถ๊ฐ
- Xcode > Project ํ์ผ > Signing & Capabilities ๋ก ์ด๋ํด์ฃผ์ธ์.
+ Capability๋ฒํผ์ ํด๋ฆญํด์ฃผ์ธ์.Background Modes์Push Notifications๋ฅผ ์ถ๊ฐํด์ฃผ์ธ์.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: ๋งํฌ
Updated 5 months ago
