public override int Create(string placementId,
                                   NativeAd nativeAd)
        {
            AdUtility.prepare();
            AndroidJavaClass  unityPlayer     = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
            AndroidJavaObject currentActivity = unityPlayer.GetStatic <AndroidJavaObject>("currentActivity");
            AndroidJavaObject context         = currentActivity.Call <AndroidJavaObject>("getApplicationContext");

            AndroidJavaObject bridgedNativeAd = new AndroidJavaObject("com.facebook.ads.NativeAd", context, placementId);

            NativeAdBridgeListenerProxy proxy = new NativeAdBridgeListenerProxy(nativeAd, bridgedNativeAd);

            bridgedNativeAd.Call("setAdListener", proxy);

            NativeAdBridgeImpressionListenerProxy impressionListenerProxy = new NativeAdBridgeImpressionListenerProxy(nativeAd, bridgedNativeAd);

            bridgedNativeAd.Call("setImpressionListener", impressionListenerProxy);

            NativeAdContainer nativeAdContainer = new NativeAdContainer(nativeAd);

            nativeAdContainer.bridgedNativeAd         = bridgedNativeAd;
            nativeAdContainer.listenerProxy           = proxy;
            nativeAdContainer.impressionListenerProxy = impressionListenerProxy;

            int key = NativeAdBridgeAndroid.lastKey;

            NativeAdBridgeAndroid.nativeAds.Add(key, nativeAdContainer);
            NativeAdBridgeAndroid.lastKey++;
            return(key);
        }
        public override int Create (string placementId,
                                    NativeAd nativeAd)
        {
            AdUtility.prepare ();
            AndroidJavaClass unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
            AndroidJavaObject currentActivity = unityPlayer.GetStatic<AndroidJavaObject>("currentActivity");
            AndroidJavaObject context = currentActivity.Call<AndroidJavaObject>("getApplicationContext");

            AndroidJavaObject bridgedNativeAd = new AndroidJavaObject("com.facebook.ads.NativeAd", context, placementId);

            NativeAdBridgeListenerProxy proxy = new NativeAdBridgeListenerProxy (nativeAd, bridgedNativeAd);
            bridgedNativeAd.Call ("setAdListener", proxy);

            NativeAdBridgeImpressionListenerProxy impressionListenerProxy = new NativeAdBridgeImpressionListenerProxy (nativeAd, bridgedNativeAd);
            bridgedNativeAd.Call ("setImpressionListener", impressionListenerProxy);

            NativeAdContainer nativeAdContainer = new NativeAdContainer (nativeAd);
            nativeAdContainer.bridgedNativeAd = bridgedNativeAd;
            nativeAdContainer.listenerProxy = proxy;
            nativeAdContainer.impressionListenerProxy = impressionListenerProxy;

            int key = NativeAdBridgeAndroid.lastKey;
            NativeAdBridgeAndroid.nativeAds.Add(key, nativeAdContainer);
            NativeAdBridgeAndroid.lastKey++;
            return key;
        }