0

C2DMにサインアップしたところ、次のメールが届きました。

Android Cloud to Device Messaging (C2DM) に関心をお寄せいただきありがとうございます。トライアル グループへの申し込みを承認しました。アプリケーションの送信者アカウントとしてリクエストした Google アカウント: some.fake@email.com が、許可された送信者のリストに追加されました。これを使用して、翌日以内に Android 2.2 デバイスにメッセージを送信できるようになります。とか、ぐらい。メッセージの送信に使用するロール アカウントを変更したい場合は、サインアップ フォームに再度入力してください。デフォルトでは、 http ://code.google.com/android/c2dm/quotas.html に記載されているように、すべての新しい送信者アカウントに最初の本番レベルのクォータが付与されます。 より高いクォータが必要な場合は、そのページの指示に従ってクォータ リクエストを送信してください。Android Cloud to Device Messaging は現在 Labs の API であるため、サービスと関連するクォータをいつでも根本的に変更する権利を留保します。Android Cloud to Device Messaging の詳細については、 http ://code.google.com/android/c2dm/でドキュメントとサンプル コードを 参照できます。質問やフィードバックがある場合は、Google グループ ( http: //groups.google.com/group/android-c2dm 送信者のアドレスは監視されていないため、このメールには返信しないでください。ありがとう、Android Cloud to Device Messaging チーム

これで、いくつかの通知を C2DM にプッシュする準備が整いました。DroidPimpを使用した .net ベースのサーバー側の実装があります。

public class C2DMNotificationService : INotificationService<IAndroidPushNotification, C2DMChannel, IAndroidPhoneEndpoint>
{
    public void SendNotification(IAndroidPushNotification notification, C2DMChannel channel, IAndroidPhoneEndpoint endpoint)
    {
        var pusher = new Pusher();
        if (string.IsNullOrEmpty(notification.AuthToken))
        {
            // Note: this authtoken is refreshed periodically, so we need to think about how often we grab a new authtoken from google.
            var source = string.Format("{0}-{1}-{2}", channel.CompanyName, channel.ApplicationName, channel.Version);
            var loginResp = pusher.ClientLogin(channel.AccountEmailAddress, channel.AccountPassword, source);
            if (loginResp.StatusCode != ClientLoginStatusCode.Ok)
                throw new Exception("Got a bad login status: " + loginResp.StatusCode);
            notification.AuthToken = loginResp.AuthToken;
        }
        var sendMessageResp = pusher.SendMessage(endpoint.RegistrationId, notification.CollapseKey, notification.Values, notification.AuthToken, notification.DelayWhileIdle);
        // TODO: check response status..
    }
}

ご覧のとおり、pusher.ClientLoginメソッドにはパスワードが必要ですが、私はパスワードを持っていません。C2DM のサインアップに使用した送信者アカウントを持っていますが、パスワードがありません。パスワードはどこにありますか、またはどうすれば取得できますか?

4

2 に答える 2

1

ポールが言ったように、Google が管理する有効なメール アカウントで C2DM サービスに登録する必要があります。Gmail アカウントである必要はありませんが、Google 経由でメール サービスに登録されている場合は、Google メール サーバーを使用する必要があります (つまり、you@yourdomain.com を使用する)。

そのアカウントを使用してC2DM サービスhttps://developers.google.com/android/c2dm/signupにサインアップしたら、

于 2012-06-19T15:08:09.877 に答える
0

Gmailアカウントのように、「Googleが管理する」メールを使用する必要があります。これがC2DMの仕組みであり、送信者と受信者の両方のすべての認証はGoogleアカウントに基づいています。今回はGmailアカウントを使用してC2DMに再度サインアップし、Gmailパスワードを使用してプッシュ通知を送信しましたが、十分に機能しました。認証トークンを取得しました。

于 2012-06-18T16:24:22.860 に答える