iOS의 Silent Notification은 라이센스 화면이 필요하지 않습니까?

9473 단어 XcodemBaasiOS
WWDC 2015의 What's new in Notification 세션에서
"Silent Notification이 기본적으로 유효하다"는 말이 나와서 깜짝 놀랐습니다.
iOS8(iPhone6Plus)을 통해 확인 중입니다.
푸시 알림을 보내는 서버 쪽에서 사용합니다니프티 구름 이동 브래킷.

응용 프로그램 설치


Nifty 클라우드 모바일 백엔드의 SDK 설치는 다음과 같습니다. Podfile을 만들면 됩니다.
target 'YOUR_APP_TARGET' do
    pod 'NCMB', :git => 'https://github.com/NIFTYCloud-mbaas/ncmb_ios.git'
end
pod install SDK를 설치할 수 있습니다.
푸시 알림 설정으로 p12 형식의 APNs 인증서를 업로드해야 합니다.
참고: mobile backend 문서: SDK 안내서: 푸시 알림(iOS)
  • AppDelegate.m
  • 푸시 알림이 표시되는 라이센스 화면의 사용자 공지 설정을 설정하지 않음
  • 현재 장치 영패 수령 후 처리 및 통지를 받았을 때의 위임
  • - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
        // Override point for customization after application launch.
    
        //SDKの初期化
        [NCMB setApplicationKey:@"YOUR_APP_KEY"
                      clientKey:@"YOUR_CLIENT_KEY"];
        /*
        UIUserNotificationType type = UIUserNotificationTypeBadge |
        UIUserNotificationTypeSound | UIUserNotificationTypeAlert;
        UIUserNotificationSettings *setting = [UIUserNotificationSettings settingsForTypes:type
                                                                                categories:nil];
        [[UIApplication sharedApplication] registerUserNotificationSettings:setting];
        */
    
        //デバイストークンの要求
        [[UIApplication sharedApplication] registerForRemoteNotifications];
    
        return YES;
    }
    
    //デバイストークンが取得できた時に呼び出されるデリゲートメソッド
    -(void)application:(UIApplication *)application
    didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken
    {
        //NCMBInstallation作成
        NCMBInstallation *installation = [NCMBInstallation currentInstallation];
        //デバイストークンをセット
        [installation setDeviceTokenFromData:deviceToken];
        //ニフティクラウド mobile  backendのデータストアに登録
        [installation saveInBackgroundWithBlock:^(NSError *error) {
            if(!error){
                //端末情報の登録が成功した場合の処理
                NSLog(@"installation saved.");
            } else {
                //端末情報の登録が失敗した場合の処理
                NSLog(@"error:%@", error);
            }
        }];
    }
    
    //Content-availableが1のプッシュ通知が受信されたときに呼び出されるデリゲートメソッド
    - (void)application:(UIApplication *)application
    didReceiveRemoteNotification:(NSDictionary *)userInfo
    fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler
    {
        //mobile backendのコンテンツを取得
        NCMBQuery *query = [NCMBQuery queryWithClassName:@"contents"];
    
        [query countObjectsInBackgroundWithBlock:^(int number, NSError *error) {
            if (error){
                NSLog(@"search error:%@", error);
                completionHandler(UIBackgroundFetchResultNoData);
            } else {
                if (number > 0){
                    //バッジナンバーを更新
                    [[UIApplication sharedApplication] setApplicationIconBadgeNumber:number];
                    //completionHandlerを呼び出す
                    completionHandler(UIBackgroundFetchResultNewData);
                } else {
                    completionHandler(UIBackgroundFetchResultNoData);
                }
    
            }
        }];
    }
    
    
    애플리케이션이 백그라운드에서 Silent Notification을 수신하려는 경우
    Capabilities의 Background modes를 ON으로 설정
    원격 공지를 설정해야 합니다.

    응용 프로그램 실행


    장치 영패를 얻을 수 있습니다. 모바일 백엔드에 저장할 수 있습니다!
    알림을 푸시하는 허가 화면 device Token이 없어도 얻을 수 있습니다!

    푸시 알림 보내기

  • 푸시 알림 배포 설정
  • 제목과 메시지가 비어 있음
  • iOS용 배포
  • 알림음 설정도 공백
  • content-available 활성화

  • 실행 결과


    위의 예시 코드에서 새로운 내용이 있으면badgeNumber를 강제로 설정하려고 시도합니다.
    따라서 권한이 필요한 것 같습니다. 오류 메시지가 표시됩니다.
    2015-08-05 16:02:04.779 PushNotificationSample[325:9402] installation saved.
    2015-08-05 16:02:30.669 PushNotificationSample[325:9402] Attempting to badge the application icon but haven't received permission from the user to badge the application
    
    단, 정해진 시간에만 앱의 내용을 업데이트하면
    Silent Notification에서 푸시 알림이 표시되지 않는 라이센스 화면을 사용할 수 있습니다!
    응용 프로그램의 백그라운드 업데이트가 비활성화되면 알림을 받아도 아무것도 할 수 없습니다
    푸시 알림은 주로 응용 프로그램의 사용자에게 무엇을 알릴 것인가에 사용된다
    라이센스 화면 같은 디스플레이는 기본값일 수 있습니다.
    작은 지식이야.

    좋은 웹페이지 즐겨찾기