我正在尝试将广告添加到我的应用中。遵循本指南,我遇到了“初始化Mobile Ads SDK ”的麻烦,因为它希望我导入一些Java代码:
package ...
import ...
import com.google.android.gms.ads.MobileAds;
import com.google.android.gms.ads.initialization.InitializationStatus;
import com.google.android.gms.ads.initialization.OnInitializationCompleteListener;
public class MainActivity extends AppCompatActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
MobileAds.initialize(this, new OnInitializationCompleteListener() {
@Override
public void onInitializationComplete(InitializationStatus initializationStatus) {
}
});
}
}
而且我有一个Javascript项目:
import React from 'react';
import { NavigationContainer } from '@react-navigation/native';
import { createStackNavigator } from '@react-navigation/stack';
import React from 'react';
import { NavigationContainer } from '@react-navigation/native';
import { createStackNavigator } from '@react-navigation/stack';
import Home from "./screens/home"
import heads from "./screens/heads"
import tails from "./screens/tails"
//problems start from here. This is the copied text from https://developers.google.com/admob/android/quick-start?hl=es#import_the_mobile_ads_sdk
package ...
import ...
import com.google.android.gms.ads.MobileAds;
import com.google.android.gms.ads.initialization.InitializationStatus;
import com.google.android.gms.ads.initialization.OnInitializationCompleteListener;
public class MainActivity extends AppCompatActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
MobileAds.initialize(this, new OnInitializationCompleteListener() {
@Override
public void onInitializationComplete(InitializationStatus initializationStatus) {
}
});
}
}
//this is where they end
const Stack = createStackNavigator();
function App() {
return (
<NavigationContainer>
<Stack.Navigator initialRouteName="Home">
<Stack.Screen
name="Home"
component={Home}
options={{headerShown: false}} />
<Stack.Screen
name="tails"
component={tails}
options={{headerShown: false}} />
<Stack.Screen
name="heads"
component={heads}
options={{headerShown: false}} />
</Stack.Navigator>
</NavigationContainer>
);
}
export default App;
const Stack = createStackNavigator();
这是尝试访问应用程序时的输出:
App.js: Unexpected reserved word 'package' (10:0)
8 |
9 | //problems start from here. This is the copied text from https://developers.google.com/admob/android/quick-start?hl=es#import_the_mobile_ads_sdk
> 10 | package ...
| ^
11 | import ...
12 | import com.google.android.gms.ads.MobileAds;
13 | import com.google.android.gms.ads.initialization.InitializationStatus;
我不确定是否应该为此目的将JAVA转换为JAVASCRIPT。我在互联网上一无所获,据我所知,没有用于语言编程的“翻译器”。
我一无所知。我已经用KOTLIN尝试过同样的事情,但同样失败了。我不想添加KOTLIN代码和错误,因为它说我的帖子主要是代码(当然是,但是我不知道从这里往哪个方向前进)谢谢!
好的,看起来您似乎正在尝试将Java和JavaScript代码放在同一文件中,这将无法正常工作。
在您随附的javascript项目代码段中,以下整个部分:
//problems start from here. This is the copied text from https://developers.google.com/admob/android/quick-start?hl=es#import_the_mobile_ads_sdk
package ...
import ...
import com.google.android.gms.ads.MobileAds;
import com.google.android.gms.ads.initialization.InitializationStatus;
import com.google.android.gms.ads.initialization.OnInitializationCompleteListener;
public class MainActivity extends AppCompatActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
MobileAds.initialize(this, new OnInitializationCompleteListener() {
@Override
public void onInitializationComplete(InitializationStatus initializationStatus) {
}
});
}
}
//this is where they end
需要在单独的Java文件中。
现在,我看到您正在使用react-native。我需要知道您使用的是标准React-native还是Expo托管项目。
如果您使用的是Expo托管项目,则已经为admob制作了一个软件包,只需按照此处文档中的说明进行操作:https : //docs.expo.io/versions/v39.0.0/sdk/admob/
如果您仅使用本机反应,它将变得更加复杂。您提供的文档是针对Java / Kotlin本机开发的,而不是通过react进行本机开发的,因此您将很难使用该文档中的代码来使其正常工作。此链接应该可以帮助您使其适用于react-native:https : //dev.to/srajesh636/how-to-show-ads-in-react-native-lcj
*请注意,在Google提供的随附文档中,您会看到package ...
和import ...
,您需要填写实际的包裹名称以及该类所需的其他任何进口商品。
希望这为您的问题提供了一些见解,让我知道是否还有任何问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句