在Google Cloud Messaging(GCM)中,需要在AndroidManifest文件中添加下面的权限声明,小米推送和个推也有类似的做法,有什么原理吗?
code from cloud-messaging/android/client#manifest
<permission android:name="<your-package-name>.permission.C2D_MESSAGE" android:protectionLevel="signature" />
<uses-permission android:name="<your-package-name>.permission.C2D_MESSAGE" />
中国では gcm が壁にぶつかることはありませんか?
これらの権限はカスタム権限であり、アプリケーション間の相互アクセス呼び出しのセキュリティのために使用されます。アプリケーション A はパーミッション宣言
permission
を定義します。アプリケーション B がアプリケーション A と対話したい場合は、A によって宣言された特定のパーミッション、つまりuses-permission
を宣言する必要があります。android:protectionLevel="signature"
は、アクセス許可を持っている一方で、相互にアクセスする必要があるアプリケーションは、相互にアクセスする前に同じアプリケーション署名を持っている必要があることを意味します。