Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Facebook 如何在react原生应用程序中显示广告_Facebook_React Native_Admob_Ads - Fatal编程技术网

Facebook 如何在react原生应用程序中显示广告

Facebook 如何在react原生应用程序中显示广告,facebook,react-native,admob,ads,Facebook,React Native,Admob,Ads,广告中有一些react-native组件,但其中一些不适用于react-native的当前版本。(例如,react native admob)。在react native中显示广告的信息严重缺乏,我似乎无法理解大多数人是如何做到这一点的。每个人真的都编写自己的本机UI组件来实现这一点吗?react native admob真的是当前使用admob的唯一方法吗?我是否完全错过了一些简单的方法来实现这一点?您可以尝试使用和: 在android/settings.gradle中: include '

广告中有一些react-native组件,但其中一些不适用于react-native的当前版本。(例如,react native admob)。在react native中显示广告的信息严重缺乏,我似乎无法理解大多数人是如何做到这一点的。每个人真的都编写自己的本机UI组件来实现这一点吗?react native admob真的是当前使用admob的唯一方法吗?我是否完全错过了一些简单的方法来实现这一点?

您可以尝试使用和:

在android/settings.gradle中:

 include ':app'
+ include ':cordovaplugin'
+ project(':cordovaplugin').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-cordova-plugin/framework/android')
dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile "com.android.support:appcompat-v7:23.0.1"
    compile "com.facebook.react:react-native:+"  // From node_modules    ...
+   compile project(':cordovaplugin')
}
在android/app/build.gradle中:

 include ':app'
+ include ':cordovaplugin'
+ project(':cordovaplugin').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-cordova-plugin/framework/android')
dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile "com.android.support:appcompat-v7:23.0.1"
    compile "com.facebook.react:react-native:+"  // From node_modules    ...
+   compile project(':cordovaplugin')
}
在android/app/src/main/java/com/appname/MainActivity.java中

...
+  import io.cordova.reactnative.CordovaPluginPackage;
...
public class MainActivity extends ReactActivity {
     ...
     @Override
     protected List<ReactPackage> getPackages() {
         return Arrays.<ReactPackage>asList(
                 new MainReactPackage(),
+                cordovaPluginPackage = new CordovaPluginPackage(this)
         );
     }
+    private CordovaPluginPackage cordovaPluginPackage;
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        cordovaPluginPackage.setSavedInstanceState(savedInstanceState);
+    }
+    @Override
+    public void onActivityResult(int requestCode, int resultCode, Intent intent) {
+        super.onActivityResult(requestCode, resultCode, intent);
+        cordovaPluginPackage.onActivityResult(requestCode, resultCode, intent);
+    }
}

设置admob是一件痛苦的事情。我开始怀疑它是否坏了。但事实并非如此,你只需要设置一些东西。为Android设置是我最大的问题,但我发现这本演练指南很有帮助:

还有IOS的演练

我遵循了它,它对我起了作用,尽管您不需要将包添加到MainApplication.java,只需导入它就可以了


希望这有帮助

试试这个,还有这个。只要上面有包装器,大多数其他广告平台都可以工作。。我相信这些AdNetwork会提供一些示例,如我所说,react-native admob与react-native的当前版本不兼容。另一个repo,react-native-admob示例已经有一年多的历史了,它使用了react-native的一个非常旧的版本