2017-01-19 13 views
1

Есть некоторые ответы на собственные компоненты для рекламы, но некоторые из них не работают с текущими версиями реагировать на native. (например, реакция-native-admob). Существует серьезная нехватка информации о показе рекламы в ответном виде, и я не могу понять, как это делается большинством людей. Каждый действительно пишет свой собственный компонент пользовательского интерфейса для достижения этого? Действительно ли action-native-admobo единственный способ использовать admob? Неужели я просто пропустил какой-то простой способ сделать это?Как показывать рекламу в ответном родном приложении

+0

Ьгу это - https://github.com/sbugert/react-native-admob и этот https://github.com/melihmucuk/react-native-admob-sample. Большинство других рекламных платформ будут работать до тех пор, пока у вас есть обертка над ними. Я уверен, что будут образцы, предоставленные этими adnetworks. –

+1

Как я уже сказал, реакция-native-admob не работает с текущей версией реакции native , Другой репо, response-native-admob-sample старше года и использует очень старую версию реакции native. –

ответ

0

Вы можете попробовать с https://github.com/axemclion/react-native-cordova-plugin и https://github.com/appfeel/admob-google-cordova:

$ npm install react-native-cordova-plugin --save 
$ node_modules/.bin/cordova-plugin add cordova-plugin-camera cordova-admob 

В андроида/settings.gradle:

include ':app' 
+ include ':cordovaplugin' 
+ project(':cordovaplugin').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-cordova-plugin/framework/android') 

В Android/приложение/build.gradle:

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/приложение/SRC/главная/Java/COM/имя_приложения/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); 
+ } 
} 

В любом index.android.js или любого другого компонента:

var Cordova = require('react-native-cordova-plugin'); 
Cordova.navigator.admob.createBannerView({publisherId: "ca-app-pub-XXXXXXXXXXXXXXXX/BBBBBBBBBB"}); 
Cordova.addEventListener(Cordova.navigator.admob.events.onAdLoaded, onEvent); 
+2

Плагин cordova застрял на RN 0.29 – fcpauldiaz