无法将 AdMob 添加到我的项目:我的项目是 ReactNative,AdMob 需要 JAVA
Can't add AdMob to my project: My project is ReactNative and AdMob needs JAVA
我正在尝试向我的应用添加广告。
关注 this guide, I've ran into trouble with "Initialize the 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) {
}
});
}
}
我有一个 Java脚本项目:
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();
Errors
这是尝试访问应用程序时的输出:
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 代码和错误,因为它说我的 post 主要是代码(当然是,但我不知道从这里往哪个方向走)
谢谢!
好的,看来您正试图将 Java 和 Java 脚本代码放在同一个文件中,这是行不通的。
在您包含的 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/
如果你只是使用 React Native,它会变得相当复杂。您提供的文档旨在用于 Java / Kotlin 本机开发,而不是通过 React 进行本机开发,因此您很难使用该文档中的代码使其正常工作。这个 link 应该可以帮助你让它为 react-native 工作:https://dev.to/srajesh636/how-to-show-ads-in-react-native-lcj
*请注意,在 google 提供的随附文档中,您会看到 package ...
和 import ...
,您需要填写实际的包名称,以及任何其他class.
所需的导入
希望这对您的问题有所帮助,如果还有任何问题,请告诉我。
我正在尝试向我的应用添加广告。 关注 this guide, I've ran into trouble with "Initialize the 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) {
}
});
}
}
我有一个 Java脚本项目:
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();
Errors
这是尝试访问应用程序时的输出:
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 代码和错误,因为它说我的 post 主要是代码(当然是,但我不知道从这里往哪个方向走) 谢谢!
好的,看来您正试图将 Java 和 Java 脚本代码放在同一个文件中,这是行不通的。
在您包含的 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/
如果你只是使用 React Native,它会变得相当复杂。您提供的文档旨在用于 Java / Kotlin 本机开发,而不是通过 React 进行本机开发,因此您很难使用该文档中的代码使其正常工作。这个 link 应该可以帮助你让它为 react-native 工作:https://dev.to/srajesh636/how-to-show-ads-in-react-native-lcj
*请注意,在 google 提供的随附文档中,您会看到 package ...
和 import ...
,您需要填写实际的包名称,以及任何其他class.
希望这对您的问题有所帮助,如果还有任何问题,请告诉我。