private static void LoadPlugin() { _playFabGcmClass = new AndroidJavaClass("com.playfab.unityplugin.GCM.PlayFabGoogleCloudMessaging"); _playServicesUtils = new AndroidJavaClass("com.playfab.unityplugin.GCM.PlayServicesUtils"); _notificationSender = new AndroidJavaClass("com.playfab.unityplugin.GCM.PlayFabNotificationSender"); _notificationPkgClass = new AndroidJavaClass("com.playfab.unityplugin.GCM.PlayFabNotificationPackage"); _clsUnity = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); _objActivity = _clsUnity.GetStatic <AndroidJavaObject>("currentActivity"); _androidPlugin = new AndroidJavaClass("com.playfab.unityplugin.PlayFabUnityAndroidPlugin"); _androidPlugin.CallStatic("initGCM", _androidPushSenderId, Application.productName); // Start the PlayFab push plugin service _singletonInstance.PostStatusMessage(PushSetupStatus.AndroidPluginInitialized); }
/// <summary> /// Init should be called before PlayFab Login, if you do not yet have the androidPushSenderId /// </summary> public static void Init() { if (_singletonInstance != null) // Check if we have already created this object. { return; } var playfabGo = GameObject.Find(GAME_OBJECT_NAME); // Create GameObject and place it in the scene. if (playfabGo == null) { playfabGo = new GameObject(GAME_OBJECT_NAME); DontDestroyOnLoad(playfabGo); } _singletonInstance = playfabGo.GetComponent <PlayFabAndroidPushPlugin>() ?? playfabGo.AddComponent <PlayFabAndroidPushPlugin>(); _singletonInstance.PostStatusMessage(PushSetupStatus.GameObjectInitialized); }