6

通知について質問があります。iPhoneにプッシュ通知を実装する方法を学ぶために数時間後、それは今到着します!

バッジをクリックするか、アラートで表示をクリックするユーザーを管理するにはどうすればよいですか?ユーザーがそこをクリックするとどうなりますか?

通知とアプリケーションのアイコンの番号をスプリングボード単位で送信しようとしました。そこをクリックすると、到着した通知を管理するためのuiviewを表示し、メッセージの既読と未読を表示することができますか?

そのためのチュートリアルはありますか?すべてのメッセージをuitableview内に保存したいと思います。

4

1 に答える 1

34

ローカルおよびリモート通知の処理を読みたい

基本的に、アプリケーションデリゲートでは、以下を実装する必要があります。

- (BOOL)application:(UIApplication *)app didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo;

そして、通知データのlaunchOptions/userInfoを処理します。

私が通常データを処理する方法は次のとおりです。

- (BOOL)application:(UIApplication *)app didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    NSDictionary* userInfo =
        [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
    if (userInfo) {
        [self processRemoteNotification:userInfo];
    }
    [window addSubview:viewController.view];
    [window makeKeyAndVisible];
    return YES;
}

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {
    [self processRemoteNotification:userInfo];
}

userInfoの形式は、「通知ペイロード」セクションに記載されています。

たとえば、「aps」キーを押すと別のNSDictionaryが表示され、「alert」キーを検索すると表示されたアラートメッセージが表示されます。また、JSONペイロードで送信するカスタムデータもそこに含まれます。

NSDictionary *apsInfo = [userInfo objectForKey:@"aps"];

NSString *alertMsg = @"";
NSString *badge = @"";
NSString *sound = @"";
NSString *custom = @"";

if( [apsInfo objectForKey:@"alert"] != NULL)
{
    alertMsg = [apsInfo objectForKey:@"alert"]; 
}


if( [apsInfo objectForKey:@"badge"] != NULL)
{
    badge = [apsInfo objectForKey:@"badge"]; 
}


if( [apsInfo objectForKey:@"sound"] != NULL)
{
    sound = [apsInfo objectForKey:@"sound"]; 
}

if( [userInfo objectForKey:@"Custom"] != NULL)
{
    custom = [userInfo objectForKey:@"Custom"];
}
于 2011-12-31T00:31:06.023 に答える