使用 SurfaceView 在 activity 上显示插页式广告的行为
Behavior showing an Interstitial Ad on an activity using a SurfaceView
我在 activity.
中使用 SurfaceView
和其他视图
扩展 SurfaceView
的 class 还实现了 SurfaceHolder.Callback
回调方法:
- 表面已创建
- 表面已更改
- surfaceDestroyed
我也在使用 Google Admob Mobile Ads SDK to show Interstitial
广告。
现在我遇到了两种不同的行为,开始由我开始的 child activity 和使用 Google Admob SDK 开始显示插页式广告。
- 我自己开始 child activity 的行为
我用
startActivity(new Intent(getBaseContext(), SettingsActivity.class));
一旦我 return 到主 activity.
,它会调用 SurfaceHolder.Callback
方法 surfaceDestroyed
和 surfaceCreated
- 从 Google Admob SDK
开始 interstitial ad 的行为
我用
if(_myInterstitialAd.isLoaded())
{
_myInterstitialAd.show();
}
一旦我 return 到主 activity,它会调用 SurfaceHolder.Callback
方法 surfaceChanged
和 surfaceChanged
。是的,它调用了 surfaceChanged
两次。
使用 Android Studio "Layout Inspector" 我看到启动的插页式广告也是 Activity (com.google.android.gms.ads.AdActivity
)。所以我真的很想知道我什么时候开始自己的活动。
有人可以解释一下 Google 是如何实现这种只调用 surfaceChanged
方法的行为的吗?
也许我在 startActivity
调用中错过了 Intent 标志?
这是我的发现。如果有人能告诉我更准确的信息,我会很乐意接受 "full" 解释性答案。
Can someone explain how does Google achieve this behavior that only the surfaceChanged
methods are called?
回答:调用surfaceChanged
方法是因为Interstitial Ad全屏显示。我可以在 Googles description.
之后触发相同的行为
我强烈认为 AdActivity
实际上不是 activity(如果有人证明我错了我很高兴)这就是为什么 surfaceDestroyed
和 surfaceCreated
显示插页式广告时不调用。
我在 activity.
中使用SurfaceView
和其他视图
扩展 SurfaceView
的 class 还实现了 SurfaceHolder.Callback
回调方法:
- 表面已创建
- 表面已更改
- surfaceDestroyed
我也在使用 Google Admob Mobile Ads SDK to show Interstitial
广告。
现在我遇到了两种不同的行为,开始由我开始的 child activity 和使用 Google Admob SDK 开始显示插页式广告。
- 我自己开始 child activity 的行为
我用
startActivity(new Intent(getBaseContext(), SettingsActivity.class));
一旦我 return 到主 activity.
,它会调用SurfaceHolder.Callback
方法 surfaceDestroyed
和 surfaceCreated
- 从 Google Admob SDK 开始 interstitial ad 的行为
我用
if(_myInterstitialAd.isLoaded())
{
_myInterstitialAd.show();
}
一旦我 return 到主 activity,它会调用 SurfaceHolder.Callback
方法 surfaceChanged
和 surfaceChanged
。是的,它调用了 surfaceChanged
两次。
使用 Android Studio "Layout Inspector" 我看到启动的插页式广告也是 Activity (com.google.android.gms.ads.AdActivity
)。所以我真的很想知道我什么时候开始自己的活动。
有人可以解释一下 Google 是如何实现这种只调用 surfaceChanged
方法的行为的吗?
也许我在 startActivity
调用中错过了 Intent 标志?
这是我的发现。如果有人能告诉我更准确的信息,我会很乐意接受 "full" 解释性答案。
Can someone explain how does Google achieve this behavior that only the
surfaceChanged
methods are called?
回答:调用surfaceChanged
方法是因为Interstitial Ad全屏显示。我可以在 Googles description.
我强烈认为 AdActivity
实际上不是 activity(如果有人证明我错了我很高兴)这就是为什么 surfaceDestroyed
和 surfaceCreated
显示插页式广告时不调用。