NativeScript AdMob插件-在emulator或游乐场上崩溃应用程序:无法读取属性';getRewardedVideoAdInstance';未定义的

NativeScript AdMob插件-在emulator或游乐场上崩溃应用程序:无法读取属性';getRewardedVideoAdInstance';未定义的,nativescript,Nativescript,我用angular(抽屉模板)应用程序创建了一个nativescript,一切正常。 使用命令tns run android--bundle该应用程序已成功安装并在Pixel 2 emulator上运行 问题是在我安装admob插件之后,使用命令tns plugin add nativescript admob。应用程序立即在模拟器上崩溃 使用package.json在我的应用程序上安装admob插件 ... "nativescript-admob": "^4.0.1", ... 尽管如此,我

我用angular(抽屉模板)应用程序创建了一个nativescript,一切正常。 使用命令
tns run android--bundle
该应用程序已成功安装并在Pixel 2 emulator上运行

问题是在我安装admob插件之后,使用命令
tns plugin add nativescript admob
。应用程序立即在模拟器上崩溃

使用package.json在我的应用程序上安装admob插件

...
"nativescript-admob": "^4.0.1",
...
尽管如此,我还是继续按照这里的说明进行操作:

所以我的AndroidManifest.xml看起来是这样的:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="__PACKAGE__"
android:versionCode="10000"
android:versionName="1.0">

<supports-screens
    android:smallScreens="true"
    android:normalScreens="true"
    android:largeScreens="true"
    android:xlargeScreens="true"/>

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.INTERNET"/>

<application
    android:name="com.tns.NativeScriptApplication"
    android:allowBackup="true"
    android:icon="@drawable/icon"
    android:label="@string/app_name"
    android:theme="@style/AppTheme">

    **<meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="ca-app-pub-3940256099942544/5224354917" />**

    <activity
        android:name="com.tns.NativeScriptActivity"
        android:label="@string/title_activity_kimera"
        android:configChanges="keyboard|keyboardHidden|orientation|screenSize|smallestScreenSize|screenLayout|locale|uiMode"
        android:theme="@style/LaunchScreenTheme">

        <meta-data android:name="SET_THEME_ON_LAUNCH" android:resource="@style/AppTheme" />

        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name="com.tns.ErrorReportActivity"/>
</application>

****

而browse.component.ts看起来是这样的:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="__PACKAGE__"
android:versionCode="10000"
android:versionName="1.0">

<supports-screens
    android:smallScreens="true"
    android:normalScreens="true"
    android:largeScreens="true"
    android:xlargeScreens="true"/>

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.INTERNET"/>

<application
    android:name="com.tns.NativeScriptApplication"
    android:allowBackup="true"
    android:icon="@drawable/icon"
    android:label="@string/app_name"
    android:theme="@style/AppTheme">

    **<meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="ca-app-pub-3940256099942544/5224354917" />**

    <activity
        android:name="com.tns.NativeScriptActivity"
        android:label="@string/title_activity_kimera"
        android:configChanges="keyboard|keyboardHidden|orientation|screenSize|smallestScreenSize|screenLayout|locale|uiMode"
        android:theme="@style/LaunchScreenTheme">

        <meta-data android:name="SET_THEME_ON_LAUNCH" android:resource="@style/AppTheme" />

        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name="com.tns.ErrorReportActivity"/>
</application>
在模拟器上,应用程序继续崩溃, 但是,使用nativescript游乐场(tns预览)应用程序不会崩溃,但会出现以下错误:设备Galaxy S9中的日志:admob中的错误。PreprewardedVideoad:TypeError:无法读取undefin的属性“GetRewardedVideodInstance” 来自设备Galaxy S9的日志:admob PrewardedVideoad错误:TypeError:无法读取未定义的属性“GetRewardedVideodInstance”

import { Component, OnInit } from "@angular/core";
import { RadSideDrawer } from "nativescript-ui-sidedrawer";
import * as app from "tns-core-modules/application";
import * as admob from "nativescript-admob";

@Component({
    selector: "Browse",
    templateUrl: "./browse.component.html"
})
export class BrowseComponent implements OnInit {

    constructor() {
        // Use the component constructor to inject providers.
    }

    ngOnInit(): void {

        // Init your component properties here.
        admob.preloadRewardedVideoAd({
            testing: true,
            iosAdPlacementId: "ca-app-pub-XXXXXX/YYYYY2", // add your own
            androidAdPlacementId: "ca-app-pub-3940256099942544/5224354917", // add your own
            keywords: ["keyword1", "keyword2"], // add keywords for ad targeting
        }).then(
             () => {
                console.log("RewardedVideoAd preloaded");
            },
            (error) => {
                console.log("native-admob preloadRewardedVideoAd error: " + error);
            }
        )
    }

    onDrawerButtonTap(): void {
        const sideDrawer = <RadSideDrawer>app.getRootView();
        sideDrawer.showDrawer();
    }
}
从“@angular/core”导入{Component,OnInit};
从“nativescript ui sidedrawer”导入{RadSideDrawer};
从“tns核心模块/应用程序”导入*作为应用程序;
从“nativescript admob”导入*作为admob;
@组成部分({
选择器:“浏览”,
templateUrl:“./browse.component.html”
})
导出类BrowseComponent实现OnInit{
构造函数(){
//使用组件构造函数注入提供程序。
}
ngOnInit():void{
//在这里初始化组件属性。
广告词({
测试:对,
iosAdPlacementId:“ca-app-pub-XXXXXX/yyyyy 2”//添加您自己的
AndroidPlacementId:“ca-app-pub-3940256099942544/5224354917”//添加您自己的
关键词:[“关键字1”、“关键字2”],//为广告目标添加关键字
}).那么(
() => {
console.log(“重新加载的视频加载”);
},
(错误)=>{
log(“本机admob preprewardedvideoad error:+error”);
}
)
}
onDrawerButtonTap():void{
const sideDrawer=app.getRootView();
sideDrawer.showDrawer();
}
}

任何依赖于本机依赖关系的插件都不能与Playway一起使用,ad mob插件具有本机依赖关系。请共享崩溃时在模拟器控制台中看到的日志。嗨,Manoj,不幸的是,这是我的问题,没有日志。模拟器控制台?请查看图像URL:Try Android Device Monitor,它通常会打印连接的设备/仿真器的所有类型的异常。请查找IOS仿真器的日志:Project successfully prepared(IOS)成功传输了设备D840681F-88D2-42B5-9671-8719297AC746上的所有文件。重新启动设备D840681F-88D2-42B5-9671-8719297AC746上的应用程序。。。(RunningBoardServices)[com.apple.runningboard:connection]标识解析为应用程序控制台信息file:///node_modules/nativescript-dev-webpack/hot.js:3:0: HMR:热模块更换已启用。等待信号。控制台日志file:///node_modules/@angular/core/fesm5/core.js:25638:0:.NativeScript捕获到信号6。本机堆栈:1 0x103801481 sig_处理程序(int)2 0x7fff5245b42d_sigtramp 3 0x1 4 0x7fff5234ba5c中止5 0x7fff502497f8 cxa_bad_cast 6 0x7fff502499c7 Demanling_处理程序()7 0x7fff513fbd7c_终止()8 0x7FFF50256;终止(void(*)9 0x7fff50256e39终止()10 0x7fff5223f7cd调度客户端调用11 0x7fff5224bc9b调度主队列回调4CF 12 0x7fff23bd4049 CFRUNLOOP正在服务于调度主队列13 0x7fff23bceca9 CFRUNLOOP运行14 0x7fff23bce066 CFRUNLOOP指定