Tôi có ba hoạt động và tôi đang thực hiện admob cho mỗi hoạt động, mọi hoạt động đều có biểu ngữ riêng và khi hoạt động thay đổi, hoạt động khác bị treo một chút do tải quảng cáo trong nền, là có bất kỳ cách nào mà một biểu ngữ xuất hiện trong tất cả các hoạt động khi chuyển sang để tránh sự chậm trễ.Thực hiện admob cho các hoạt động khác nhau
Trả lời
Cách lý tưởng là sử dụng các đoạn cho mỗi screens
của bạn. Bằng cách này, bạn sẽ sử dụng một hoạt động duy nhất có một adview duy nhất.
Nếu bạn muốn sử dụng nhiều hoạt động thay vào đó, sau đó thực hiện giải pháp duy nhất tôi biết là sử dụng một phương pháp tĩnh để tải quảng cáo:
public class MyAdView {
public static void SetAD(AdView adView){
AdRequest adRequest = new AdRequest.Builder()
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
.build();
adView.loadAd(adRequest);
}
}
Cách sử dụng:
public class SomeActivity extends Activity {
private AdView adView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.caller_main);
MyAdView.SetAd((AdView)findViewById(R.id.adView));
}
}
Không thể hiểu được –
cách tiếp cận tốt nhất để giữ mã liên quan đến admob dài khỏi hoạt động! cảm ơn bạn, nhưng nó có ý nghĩa để làm cho nó tĩnh? –
bạn có thể làm điều đó chỉ cần tải quảng cáo trong lớp ứng dụng và sử dụng nó trong bất kỳ hoạt động nào.
bạn có thể tải demo
như tôi làm điều đó,
App lớp
import android.app.Application;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdSize;
import com.google.android.gms.ads.AdView;
public class App extends Application {
AdView adView;
@Override
public void onCreate() {
// TODO Auto-generated method stub
super.onCreate();
adView = new AdView(this);
adView.setAdSize(AdSize.SMART_BANNER);
adView.setAdUnitId("ca-app-pub-1267746788642565/8418489933");
// Request for Ads
AdRequest adRequest = new AdRequest.Builder().build();
// Load ads into Banner Ads
adView.loadAd(adRequest);
}
public void loadAd(LinearLayout layAd) {
// Locate the Banner Ad in activity xml
if (adView.getParent() != null) {
ViewGroup tempVg = (ViewGroup) adView.getParent();
tempVg.removeView(adView);
}
layAd.addView(adView);
}
}
Hoạt động chính
public class MainActivity extends Activity {
App app;
LinearLayout layAd;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
layAd = (LinearLayout) findViewById(R.id.layad);
app = (App) getApplication();
app.loadAd(layAd);
Button btnNext = (Button) findViewById(R.id.next);
btnNext.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent iNext = new Intent(MainActivity.this,
SecondActivity.class);
startActivity(iNext);
}
});
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
app.loadAd(layAd);
super.onResume();
}
}
Hoạt động Thứ hai
public class SecondActivity extends Activity {
App app;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
LinearLayout layAd = (LinearLayout) findViewById(R.id.layad);
app = (App) getApplication();
app.loadAd(layAd);
}
}
Manifest xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.admobdemo"
android:versionCode="1"
android:versionName="1.0" >
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="21" />
<application
android:name="com.example.admobdemo.App"
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.admobdemo.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="com.example.admobdemo.SecondActivity"
android:label="@string/app_name" >
</activity>
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<activity
android:name="com.google.android.gms.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" />
</application>
</manifest>
bố trí hoạt động chính xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/LinearLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="${relativePackage}.${activityClass}" >
<LinearLayout
android:id="@+id/layad"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >
</LinearLayout>
<Button
android:id="@+id/next"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
và hoạt động thứ hai bố trí xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/LinearLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="${relativePackage}.${activityClass}" >
<LinearLayout
android:id="@+id/layad"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >
</LinearLayout>
</LinearLayout>
nỗ lực để giải thích được đánh giá cao nhưng nó cho thấy lỗi ở chỗ tôi –
Bạn có thể gửi báo lỗi ở đây ...... – RBK
@RaviKoradiya tôi có thể sử dụng bố trí cho AdView đây trong lớp 'Ứng dụng'? – NarendraJi
- 1. Tôi có nên sử dụng ID đơn vị quảng cáo AdMob khác nhau trong các Hoạt động khác nhau không?
- 2. Sự kiện lắc hoạt động khác nhau trên các thiết bị khác nhau Thực hiện tùy chỉnh Lắc Sự kiện
- 3. Đặt các mục hoạt động khác nhau cho UIActivityViewController Swift
- 4. AdMob trên nhiều hoạt động?
- 5. Cách xử lý các thực thể thuộc tính khác nhau cho các thực thể khác nhau
- 6. Quy tắc xác thực khác nhau của asp.net mvc cho các hành động khác nhau
- 7. Bảo mật khác nhau cho hoạt động Dịch vụ khác nhau trong WCF
- 8. hai bố trí khác nhau cho một hoạt động
- 9. Mã C++ và Haskell khác nhau trong thời gian thực hiện trên các máy khác nhau
- 10. Dừng tất cả các hình ảnh động được thực hiện trên chủ đề khác nhau
- 11. Ruby 1.9 Array.to_s hoạt động khác nhau?
- 12. registerOnSharedPreferenceChangeListener không hoạt động đối với các thay đổi được thực hiện trong quá trình khác nhau
- 13. Hai đối tượng khác nhau có cùng khóa cho khung thực thể không hoạt động
- 14. SharedPreferences từ hoạt động khác nhau
- 15. Góc hoạt động khác nhau trên Cordova
- 16. Số lượng gần đúng chu kỳ CPU cho các hoạt động khác nhau
- 17. LoginUrl khác nhau cho URL khác nhau với ASP.NET MVC và các hình thức xác thực
- 18. 301/302 Chuyển hướng không hoạt động trong Android (hoạt động khác trong các phiên bản khác nhau)
- 19. Điểm chuẩn cho các hoạt động của kho lưu trữ Google App Engine khác nhau?
- 20. Chủ đề Elasticsearch hoạt động khác nhau với nhau
- 21. Thực hiện nhiều hành động cái khác
- 22. Nhiều NSFetchedResultControllers cho các thực thể khác nhau?
- 23. AdMob - hiệu suất tốt hơn trong hoạt động android
- 24. Thực hiện imap_close không hoạt động
- 25. thực hiện giao thức với loại liên quan khác nhau
- 26. Thực hiện cùng một gói SSIS với các thông số khác nhau tại thời điểm khác nhau
- 27. Tại sao Microsoft thực hiện ổ cắm khác nhau?
- 28. Docker có thể giúp xây dựng tệp thực thi hoạt động trong nền tảng khác nhau
- 29. Các hoạt động của FP có cho kết quả tương tự trên các CPU x86 khác nhau không?
- 30. Danh sách và bộ xử lý hoạt động khác nhau
Các tải quảng cáo trong một thread riêng biệt một cách tự nhiên, ra khỏi hộp. trong tất cả các ứng dụng của tôi, tôi tải quảng cáo một cách cụ thể và sau đó hiển thị quảng cáo khi được tải đầy đủ. –