Ejemplo n.º 1
0
        private void WriteReceiverInfo(XmlWriter _xmlWriter)
        {
                        #if !NATIVE_PLUGINS_LITE_VERSION
            if (m_supportedFeatures.UsesBilling)
            {
                _xmlWriter.WriteComment("Billing : Amazon Billing Receiver");
                _xmlWriter.WriteStartElement("receiver");
                {
                    WriteAttributeString(_xmlWriter, "android", "name", null, "com.amazon.device.iap.ResponseReceiver");

                    _xmlWriter.WriteStartElement("intent-filter");
                    {
                        WriteAction(_xmlWriter:         _xmlWriter,
                                    _name:                      "com.amazon.inapp.purchasing.NOTIFY",
                                    _permission:        "com.amazon.inapp.purchasing.Permission.NOTIFY"
                                    );
                    }
                    _xmlWriter.WriteEndElement();
                }
                _xmlWriter.WriteEndElement();
            }


            // GCM receiver
            if (m_supportedFeatures.UsesNotificationService)
            {
                _xmlWriter.WriteComment("Notifications : GCM Receiver");
                _xmlWriter.WriteStartElement("receiver");
                {
                    WriteAttributeString(_xmlWriter, "android", "name", null, "com.voxelbusters.nativeplugins.features.notification.serviceprovider.gcm.GCMBroadcastReceiver");
                    WriteAttributeString(_xmlWriter, "android", "permission", null, "com.google.android.c2dm.permission.SEND");

                    _xmlWriter.WriteStartElement("intent-filter");
                    {
                        WriteAction(_xmlWriter:         _xmlWriter,
                                    _name:                      "com.google.android.c2dm.intent.RECEIVE");

                        WriteAction(_xmlWriter:         _xmlWriter,
                                    _name:                      "com.google.android.c2dm.intent.REGISTRATION");

                        WriteCategory(_xmlWriter:       _xmlWriter,
                                      _name:            PlayerSettings.GetBundleIdentifier());
                    }
                    _xmlWriter.WriteEndElement();
                }
                _xmlWriter.WriteEndElement();
            }

            // Local notification receiver
            if (m_supportedFeatures.UsesNotificationService)
            {
                _xmlWriter.WriteComment("Notifications : Receiver for alarm to help Local Notifications");
                _xmlWriter.WriteStartElement("receiver");
                {
                    WriteAttributeString(_xmlWriter, "android", "name", null, "com.voxelbusters.nativeplugins.features.notification.core.AlarmEventReceiver");
                }
                _xmlWriter.WriteEndElement();
            }
                        #endif
        }
Ejemplo n.º 2
0
        protected override void WritePermissions(XmlWriter _xmlWriter)
        {
            if (m_supportedFeatures.UsesAddressBook)
            {
                WriteUsesPermission(_xmlWriter: _xmlWriter,
                                    _name:              "android.permission.READ_CONTACTS",
                                    _comment:   "Address Book");
            }

            if (m_supportedFeatures.UsesNetworkConnectivity)
            {
                WriteUsesPermission(_xmlWriter: _xmlWriter,
                                    _name:              "android.permission.ACCESS_NETWORK_STATE",
                                    _comment:   "Network Connectivity");
            }


#if !NATIVE_PLUGINS_LITE_VERSION
            if (m_supportedFeatures.UsesBilling)
            {
                WriteUsesPermission(_xmlWriter: _xmlWriter,
                                    _name:              "com.android.vending.BILLING",
                                    _comment:   "Billing");
            }

            if (m_supportedFeatures.UsesMediaLibrary)
            {
                if (m_supportedFeatures.MediaLibrary.usesCamera)
                {
                    WriteUsesPermission(_xmlWriter: _xmlWriter,
                                        _name:          "android.permission.CAMERA",
                                        _features:  new Feature[] {
                        new Feature("android.hardware.camera", false),
                        new Feature("android.hardware.camera.autofocus", false)
                    },
                                        _comment:   "Media Library");
                }

                if (m_supportedFeatures.MediaLibrary.usesPhotoAlbum)
                {
                    WriteUsesPermission(_xmlWriter: _xmlWriter,
                                        _name:              "com.google.android.apps.photos.permission.GOOGLE_PHOTOS");


                    WriteUsesPermission(_xmlWriter: _xmlWriter,
                                        _name:              "android.permission.MANAGE_DOCUMENTS");
                }
            }

            if (m_supportedFeatures.UsesNotificationService)
            {
                if (!NPSettings.Application.SupportedAddonServices.UsesOneSignal)
                {
                    WritePermission(_xmlWriter:                     _xmlWriter,
                                    _name:                          string.Format("{0}.permission.C2D_MESSAGE", PlayerSettings.GetBundleIdentifier()),
                                    _protectionLevel:       "signature",
                                    _comment:                       "For enabling GCM");

                    /* // https://groups.google.com/forum/#!topic/android-gcm/ecG-RfH-Aso
                     * WriteUsesPermission(_xmlWriter:	_xmlWriter,
                     *                  _name:      "android.permission.GET_ACCOUNTS");
                     */

                    WriteUsesPermission(_xmlWriter: _xmlWriter,
                                        _name:              string.Format("{0}.permission.C2D_MESSAGE", PlayerSettings.GetBundleIdentifier()));

                    WriteUsesPermission(_xmlWriter: _xmlWriter,
                                        _name:              "com.google.android.c2dm.permission.RECEIVE");
                }

                WriteUsesPermission(_xmlWriter: _xmlWriter,
                                    _name:          "android.permission.WAKE_LOCK");

#if USES_NOTIFICATION_SERVICE
                if (NPSettings.Notification.Android.AllowVibration)
                {
                    WriteUsesPermission(_xmlWriter: _xmlWriter,
                                        _name:              "android.permission.VIBRATE",
                                        _comment:   "Notifications : If vibration is required for notification");
                }
#endif
            }

            if (m_supportedFeatures.UsesGameServices)
            {
                WriteUsesPermission(_xmlWriter: _xmlWriter,
                                    _name:          "com.google.android.providers.gsf.permission.READ_GSERVICES",
                                    _comment:       "GameServices : For getting content provider access.");
            }

            if (m_supportedFeatures.UsesWebView)
            {
                // Used for file uploads
                WriteUsesPermission(_xmlWriter: _xmlWriter,
                                    _name:          "android.permission.CAMERA",
                                    _features:      new Feature[] {
                    new Feature("android.hardware.camera", false),
                    new Feature("android.hardware.camera.autofocus", false)
                },
                                    _comment:       "Webview - Uses for file uploading from camera");
            }
#endif

            //Write common permissions here

            if (m_supportedFeatures.UsesNotificationService || NPSettings.Utility.Android.ModifiesApplicationBadge)
            {
                // For badge permissions
                WriteBadgePermissionsForAllPlatforms(_xmlWriter);
            }

            //Internet access - Add by default as many features need this.
            WriteUsesPermission(_xmlWriter: _xmlWriter,
                                _name:              "android.permission.INTERNET",
                                _comment:   "Required for internet access");

                        #if !NATIVE_PLUGINS_LITE_VERSION
            //Storage Access
            if (m_supportedFeatures.UsesMediaLibrary)
            {
                WriteUsesPermission(_xmlWriter: _xmlWriter,
                                    _name:              "android.permission.WRITE_EXTERNAL_STORAGE",
                                    _comment:   "For Saving to external directory - Save to Gallery Feature in MediaLibrary");

                WriteUsesPermission(_xmlWriter: _xmlWriter,
                                    _name:              "android.permission.READ_EXTERNAL_STORAGE");
            }
                        #endif
        }
        protected override void WritePermissions(XmlWriter _xmlWriter)
        {
            if (m_supportedFeatures.UsesAddressBook)
            {
                WriteUsesPermission(_xmlWriter: _xmlWriter,
                                    _name:              "android.permission.READ_CONTACTS",
                                    _comment:   "Address Book");
            }

            if (m_supportedFeatures.UsesNetworkConnectivity)
            {
                WriteUsesPermission(_xmlWriter: _xmlWriter,
                                    _name:              "android.permission.ACCESS_NETWORK_STATE",
                                    _comment:   "Network Connectivity");
            }


                        #if !NATIVE_PLUGINS_LITE_VERSION
            if (m_supportedFeatures.UsesBilling)
            {
                WriteUsesPermission(_xmlWriter: _xmlWriter,
                                    _name:              "com.android.vending.BILLING",
                                    _comment:   "Billing");
            }

            if (m_supportedFeatures.UsesMediaLibrary)
            {
                WriteUsesPermission(_xmlWriter: _xmlWriter,
                                    _name:              "android.permission.CAMERA",
                                    _features:  new Feature[] {
                    new Feature("android.hardware.camera", false),
                    new Feature("android.hardware.camera.autofocus", false)
                },
                                    _comment:   "Media Library");

                WriteUsesPermission(_xmlWriter: _xmlWriter,
                                    _name:              "com.google.android.apps.photos.permission.GOOGLE_PHOTOS");


                WriteUsesPermission(_xmlWriter: _xmlWriter,
                                    _name:              "android.permission.MANAGE_DOCUMENTS");
            }

            if (m_supportedFeatures.UsesNotificationService)
            {
                WritePermission(_xmlWriter:                     _xmlWriter,
                                _name:                          string.Format("{0}.permission.C2D_MESSAGE", PlayerSettings.GetBundleIdentifier()),
                                _protectionLevel:       "signature",
                                _comment:                       "For enabling GCM");

                /* // https://groups.google.com/forum/#!topic/android-gcm/ecG-RfH-Aso
                 * WriteUsesPermission(_xmlWriter:	_xmlWriter,
                 *                  _name:      "android.permission.GET_ACCOUNTS");
                 */

                WriteUsesPermission(_xmlWriter: _xmlWriter,
                                    _name:              "android.permission.WAKE_LOCK");

                WriteUsesPermission(_xmlWriter: _xmlWriter,
                                    _name:              string.Format("{0}.permission.C2D_MESSAGE", PlayerSettings.GetBundleIdentifier()));

                WriteUsesPermission(_xmlWriter: _xmlWriter,
                                    _name:              "com.google.android.c2dm.permission.RECEIVE");
#if USES_NOTIFICATION_SERVICE
                if (NPSettings.Notification.Android.AllowVibration)
                {
                    WriteUsesPermission(_xmlWriter: _xmlWriter,
                                        _name:              "android.permission.VIBRATE",
                                        _comment:   "Notifications : If vibration is required for notification");
                }
#endif
            }

            if (m_supportedFeatures.UsesGameServices)
            {
                WriteUsesPermission(_xmlWriter: _xmlWriter,
                                    _name:          "com.google.android.providers.gsf.permission.READ_GSERVICES",
                                    _comment:       "GameServices : For getting content provider access.");

                // Below permissions are no more required as we are targetting selective API's in Google Play Services.

                /*WriteUsesPermission(_xmlWriter:	_xmlWriter,
                 *                  _name:      "android.permission.GET_ACCOUNTS");
                 *
                 * WriteUsesPermission(_xmlWriter:	_xmlWriter,
                 *                  _name:      "android.permission.USE_CREDENTIALS");*/
            }
                        #endif


            //Write common permissions here

            //Internet access - Add by default as many features need this.
            WriteUsesPermission(_xmlWriter: _xmlWriter,
                                _name:              "android.permission.INTERNET",
                                _comment:   "Required for internet access");

            //Storage Access
            if (m_supportedFeatures.UsesSharing
                                #if !NATIVE_PLUGINS_LITE_VERSION
                || m_supportedFeatures.UsesMediaLibrary ||
                m_supportedFeatures.UsesTwitter
                                #endif
                )
            {
                WriteUsesPermission(_xmlWriter: _xmlWriter,
                                    _name:              "android.permission.WRITE_EXTERNAL_STORAGE",
                                    _comment:   "For Saving to external directory - Save to Gallery Feature in MediaLibrary / Used for sharing");

                WriteUsesPermission(_xmlWriter: _xmlWriter,
                                    _name:              "android.permission.READ_EXTERNAL_STORAGE");
            }
        }
Ejemplo n.º 4
0
        private void WriteProviderInfo(XmlWriter _xmlWriter)
        {
            // Provider
            _xmlWriter.WriteComment("Custom File Provider. Sharing from internal folders  \"com.voxelbusters.nativeplugins.extensions.FileProviderExtended\"");
            _xmlWriter.WriteStartElement("provider");
            {
                WriteAttributeString(_xmlWriter, "android", "name", null, "com.voxelbusters.nativeplugins.extensions.FileProviderExtended");
                WriteAttributeString(_xmlWriter, "android", "authorities", null, string.Format("{0}.fileprovider", PlayerSettings.GetBundleIdentifier()));
                WriteAttributeString(_xmlWriter, "android", "exported", null, "false");
                WriteAttributeString(_xmlWriter, "android", "grantUriPermissions", null, "true");

                _xmlWriter.WriteStartElement("meta-data");
                {
                    WriteAttributeString(_xmlWriter, "android", "name", null, "android.support.FILE_PROVIDER_PATHS");
                    WriteAttributeString(_xmlWriter, "android", "resource", null, "@xml/nativeplugins_file_paths");
                }
                _xmlWriter.WriteEndElement();
            }
            _xmlWriter.WriteEndElement();
        }
Ejemplo n.º 5
0
        protected override void WritePermissions(XmlWriter _xmlWriter)
        {
            if (m_supportedFeatures.UsesAddressBook)
            {
                WriteUsesPermission(_xmlWriter: _xmlWriter,
                                    _name:              "android.permission.READ_CONTACTS",
                                    _comment:   "Address Book");
            }

            if (m_supportedFeatures.UsesNetworkConnectivity)
            {
                WriteUsesPermission(_xmlWriter: _xmlWriter,
                                    _name:              "android.permission.ACCESS_NETWORK_STATE",
                                    _comment:   "Network Connectivity");
            }


                        #if !NATIVE_PLUGINS_LITE_VERSION
            if (m_supportedFeatures.UsesBilling)
            {
                WriteUsesPermission(_xmlWriter: _xmlWriter,
                                    _name:              "com.android.vending.BILLING",
                                    _comment:   "Billing");
            }


            if (m_supportedFeatures.UsesMediaLibrary)
            {
                WriteUsesPermission(_xmlWriter: _xmlWriter,
                                    _name:              "android.permission.CAMERA",
                                    _features:  new Feature[] {
                    new Feature("android.hardware.camera", false),
                    new Feature("android.hardware.camera.autofocus", false)
                },
                                    _comment:   "Media Library");

                WriteUsesPermission(_xmlWriter: _xmlWriter,
                                    _name:              "com.google.android.apps.photos.permission.GOOGLE_PHOTOS");
            }

            if (m_supportedFeatures.UsesNotificationService)
            {
                WritePermission(_xmlWriter:                     _xmlWriter,
                                _name:                          string.Format("{0}.permission.C2D_MESSAGE", PlayerSettings.GetBundleIdentifier()),
                                _protectionLevel:       "signature",
                                _comment:                       "For enabling GCM");

                WriteUsesPermission(_xmlWriter: _xmlWriter,
                                    _name:              "android.permission.GET_ACCOUNTS");

                WriteUsesPermission(_xmlWriter: _xmlWriter,
                                    _name:              "android.permission.WAKE_LOCK");

                WriteUsesPermission(_xmlWriter: _xmlWriter,
                                    _name:              string.Format("{0}.permission.C2D_MESSAGE", PlayerSettings.GetBundleIdentifier()));

                WriteUsesPermission(_xmlWriter: _xmlWriter,
                                    _name:              "com.google.android.c2dm.permission.RECEIVE");

                WriteUsesPermission(_xmlWriter: _xmlWriter,
                                    _name:              "android.permission.VIBRATE",
                                    _comment:   "Notifications : If vibration is required for notification");
            }
                        #endif


            //Write common permissions here

            //Internet access - Add by default as many features need this.
            WriteUsesPermission(_xmlWriter: _xmlWriter,
                                _name:              "android.permission.INTERNET",
                                _comment:   "Required for internet access");

            //Storage Access
            if (m_supportedFeatures.UsesSharing
                                #if !NATIVE_PLUGINS_LITE_VERSION
                || m_supportedFeatures.UsesMediaLibrary ||
                m_supportedFeatures.UsesTwitter
                                #endif
                )
            {
                WriteUsesPermission(_xmlWriter: _xmlWriter,
                                    _name:              "android.permission.WRITE_EXTERNAL_STORAGE",
                                    _comment:   "For Saving to external directory - Save to Gallery Feature in MediaLibrary / Used for sharing");

                WriteUsesPermission(_xmlWriter: _xmlWriter,
                                    _name:              "android.permission.READ_EXTERNAL_STORAGE");
            }
        }