com.google.android.c2dm.permission.RECEIVE permission added in latest public build?

Hey all

Just went to push an update to Google Play using 3068 and it tells me I have a new permission added called

com.google.android.c2dm.permission.RECEIVE

I haven’t changed any of my plugins for months.  Can anyone explain why this new permission is now part of Corona builds and how do I remove it?

Note: I am not using any push notifications.

Thanks

Are you using local notifications? Any other plugins?

Rob

Yes I am using local notifications and yes I have plugin.notifications registered.  I’ve rolled back to 3049 and the extra permission is gone. So it was something introduced/changed between these two builds.  

I will publish with 3049 for now until this is fixed as I don’t want my players to be apprehensive when they see a new permission.

com.google.android.c2dm.permission.RECEIVE – Grants permission to receive messages from Google Cloud Messaging. (What does c2dm mean? This stands for Cloud to Device Messaging, which is the now-deprecated predecessor to GCM. GCM still uses c2dm in many of its permission strings.)

I’ve reported this to Engineering. 

Rob

@SGS

Can you try to build again?

I’ve removed the push requirements that were included by default.

Hi,

Did a build yesterday with 2017.3068 and it’s still including the push notification permissions for both Android and iOS.

build settings android

plugins= { ["plugin.google.iap.v3"]= { publisherId="com.coronalabs", supportedPlatforms={android=true}, }, ["CoronaProvider.native.popup.social"]= { publisherId="com.coronalabs", }, ["plugin.appodeal"]= { publisherId="com.coronalabs", supportedPlatforms={iphone=true,["iphone-sim"]=true,android=true,["android-kindle"]=true}, }, ["plugin.googleAnalytics"]= { publisherId="com.coronalabs", supportedPlatforms={iphone=true,["iphone-sim"]=true,android=true,osx=true,win32=true,["android-kindle"]=true}, }, ["plugin.gameanalytics\_v2"]= { publisherId="com.gameanalytics", supportedPlatforms={iphone=true,android=true,["android-kindle"]=true}, }, ["plugin.firebaseAnalytics"]= { publisherId="tech.scotth", supportedPlatforms={iphone=true,["iphone-sim"]=true,android=true}, }, ["plugin.utf8"]= { publisherId="com.coronalabs", }, ["plugin.gpgs"]= { publisherId="com.coronalabs", supportedPlatforms={iphone=true,android=true}, }, },

build settings ios

plugins= { ["CoronaProvider.native.popup.activity"]= { publisherId="com.coronalabs", supportedPlatforms={iphone=true}, }, ["plugin.appodeal"]= { publisherId="com.coronalabs", supportedPlatforms={iphone=true,["iphone-sim"]=true,android=true,["android-kindle"]=true}, }, ["plugin.googleAnalytics"]= { publisherId="com.coronalabs", supportedPlatforms={iphone=true,["iphone-sim"]=true,android=true,osx=true,win32=true,["android-kindle"]=true}, }, ["plugin.gameanalytics\_v2"]= { publisherId="com.gameanalytics", supportedPlatforms={iphone=true,android=true,["android-kindle"]=true}, }, ["plugin.firebaseAnalytics"]= { publisherId="tech.scotth", supportedPlatforms={iphone=true,["iphone-sim"]=true,android=true}, }, ["plugin.utf8"]= { publisherId="com.coronalabs", }, ["CoronaProvider.gameNetwork.apple"]= { publisherId="com.coronalabs", }, },

@pijappi

I’ve tracked it to plugin.firebaseAnalytics.

It uses the core Firebase library which included this permission in its metadata. I’ve moved this permission from core into the messaging library now.

I’ve pushed the changes, however it can take 1-2 hours before they are live on the build server.

PS.

I’m curious as to why you mention iOS, as this is an Android-only permission which doesn’t exist on iOS.

ok thanks, will try it again later today.

PS.

I’m curious as to why you mention iOS, as this is an Android-only permission which doesn’t exist on iOS.

Yes you are right, sorry, my comment was not complete. I did a build yesterday for iOS and received the following message from Apple.:

Missing Push Notification Entitlement - Your app appears to register with the Apple Push Notification service, but the app signature’s entitlements do not include the “aps-environment” entitlement. If your app uses the Apple Push Notification service, make sure your App ID is enabled for Push Notification in the Provisioning Portal, and resubmit after signing your app with a Distribution provisioning profile that includes the “aps-environment” entitlement. Xcode 8 does not automatically copy the aps-environment entitlement from provisioning profiles at build time. This behavior is intentional. To use this entitlement, either enable Push Notifications in the project editor’s Capabilities pane, or manually add the entitlement to your entitlements file. For more information, see https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/HandlingRemoteNotifications.html#//apple_ref/doc/uid/TP40008194-CH6-SW1.

I do not use push notifications for the related application. Maybe this is also due to the firebaseAnalytics plugin?

@pijappi

The Android changes are live on the build servers now, so you should be able to build without the permission being included.  :slight_smile:

As for iOS, I would assume that the same plugin would be responsible for the warning, but I’m not sure.

On iOS it’s the plugin developer who includes all the static libraries necessary for the plugin. We have no control there.

AFAIK that message is only a warning, and may be a false positive as well. In the past apps have been known to pass approval without any issues despite the warning.

@ingemar_cl
For android the permission is not included anymore, thanks for that.

For iOS i will contact the plugin developer to see if he is including the Apple Push Notification library.
But like you already mentioned it’s been known to pass approval without any issues despite the warning. My app passed approval last night even after receiving this message.

Are you using local notifications? Any other plugins?

Rob

Yes I am using local notifications and yes I have plugin.notifications registered.  I’ve rolled back to 3049 and the extra permission is gone. So it was something introduced/changed between these two builds.  

I will publish with 3049 for now until this is fixed as I don’t want my players to be apprehensive when they see a new permission.

com.google.android.c2dm.permission.RECEIVE – Grants permission to receive messages from Google Cloud Messaging. (What does c2dm mean? This stands for Cloud to Device Messaging, which is the now-deprecated predecessor to GCM. GCM still uses c2dm in many of its permission strings.)

I’ve reported this to Engineering. 

Rob

@SGS

Can you try to build again?

I’ve removed the push requirements that were included by default.

Hi,

Did a build yesterday with 2017.3068 and it’s still including the push notification permissions for both Android and iOS.

build settings android

plugins= { ["plugin.google.iap.v3"]= { publisherId="com.coronalabs", supportedPlatforms={android=true}, }, ["CoronaProvider.native.popup.social"]= { publisherId="com.coronalabs", }, ["plugin.appodeal"]= { publisherId="com.coronalabs", supportedPlatforms={iphone=true,["iphone-sim"]=true,android=true,["android-kindle"]=true}, }, ["plugin.googleAnalytics"]= { publisherId="com.coronalabs", supportedPlatforms={iphone=true,["iphone-sim"]=true,android=true,osx=true,win32=true,["android-kindle"]=true}, }, ["plugin.gameanalytics\_v2"]= { publisherId="com.gameanalytics", supportedPlatforms={iphone=true,android=true,["android-kindle"]=true}, }, ["plugin.firebaseAnalytics"]= { publisherId="tech.scotth", supportedPlatforms={iphone=true,["iphone-sim"]=true,android=true}, }, ["plugin.utf8"]= { publisherId="com.coronalabs", }, ["plugin.gpgs"]= { publisherId="com.coronalabs", supportedPlatforms={iphone=true,android=true}, }, },

build settings ios

plugins= { ["CoronaProvider.native.popup.activity"]= { publisherId="com.coronalabs", supportedPlatforms={iphone=true}, }, ["plugin.appodeal"]= { publisherId="com.coronalabs", supportedPlatforms={iphone=true,["iphone-sim"]=true,android=true,["android-kindle"]=true}, }, ["plugin.googleAnalytics"]= { publisherId="com.coronalabs", supportedPlatforms={iphone=true,["iphone-sim"]=true,android=true,osx=true,win32=true,["android-kindle"]=true}, }, ["plugin.gameanalytics\_v2"]= { publisherId="com.gameanalytics", supportedPlatforms={iphone=true,android=true,["android-kindle"]=true}, }, ["plugin.firebaseAnalytics"]= { publisherId="tech.scotth", supportedPlatforms={iphone=true,["iphone-sim"]=true,android=true}, }, ["plugin.utf8"]= { publisherId="com.coronalabs", }, ["CoronaProvider.gameNetwork.apple"]= { publisherId="com.coronalabs", }, },

@pijappi

I’ve tracked it to plugin.firebaseAnalytics.

It uses the core Firebase library which included this permission in its metadata. I’ve moved this permission from core into the messaging library now.

I’ve pushed the changes, however it can take 1-2 hours before they are live on the build server.

PS.

I’m curious as to why you mention iOS, as this is an Android-only permission which doesn’t exist on iOS.

ok thanks, will try it again later today.

PS.

I’m curious as to why you mention iOS, as this is an Android-only permission which doesn’t exist on iOS.

Yes you are right, sorry, my comment was not complete. I did a build yesterday for iOS and received the following message from Apple.:

Missing Push Notification Entitlement - Your app appears to register with the Apple Push Notification service, but the app signature’s entitlements do not include the “aps-environment” entitlement. If your app uses the Apple Push Notification service, make sure your App ID is enabled for Push Notification in the Provisioning Portal, and resubmit after signing your app with a Distribution provisioning profile that includes the “aps-environment” entitlement. Xcode 8 does not automatically copy the aps-environment entitlement from provisioning profiles at build time. This behavior is intentional. To use this entitlement, either enable Push Notifications in the project editor’s Capabilities pane, or manually add the entitlement to your entitlements file. For more information, see https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/HandlingRemoteNotifications.html#//apple_ref/doc/uid/TP40008194-CH6-SW1.

I do not use push notifications for the related application. Maybe this is also due to the firebaseAnalytics plugin?

@pijappi

The Android changes are live on the build servers now, so you should be able to build without the permission being included.  :slight_smile:

As for iOS, I would assume that the same plugin would be responsible for the warning, but I’m not sure.

On iOS it’s the plugin developer who includes all the static libraries necessary for the plugin. We have no control there.

AFAIK that message is only a warning, and may be a false positive as well. In the past apps have been known to pass approval without any issues despite the warning.

@ingemar_cl
For android the permission is not included anymore, thanks for that.

For iOS i will contact the plugin developer to see if he is including the Apple Push Notification library.
But like you already mentioned it’s been known to pass approval without any issues despite the warning. My app passed approval last night even after receiving this message.