Как я могу использовать эту функцию nativeAd.getCallToAction в NativeAd?
Я пытался понять, как реализовать nativeAd, но понятия не имею, как реализовать CallToAction в кнопке.
Я инициализировал объявление:
private void nativeAdView() {
MobileAds.initialize(requireContext());
AdLoader adLoader =
new AdLoader.Builder(requireContext(), ID_NATIVE_AD_TEST)
.forNativeAd(new NativeAd.OnNativeAdLoadedListener() {
@Override
public void onNativeAdLoaded(@NonNull NativeAd nativeAd) {
SubFragmentExpenseList.this.nativeAd = nativeAd;
//Creates an container for the adView
FrameLayout frameLayout = requireView().findViewById(R.id.fl_adplaceholder);
//Gets the nativeView to be placed inside the frameLayout
NativeAdView adView = (NativeAdView) getLayoutInflater().inflate(R.layout.native_ad_layout, null);
populateNativeAdView(nativeAd, adView);
frameLayout.removeAllViews();
frameLayout.addView(adView);
}
}).build();
//Creates an default adRequest without specific public ads like age
adLoader.loadAd(new AdRequest.Builder().build());
}
// Заполняем объявление:
private void populateNativeAdView(NativeAd nativeAd, NativeAdView adView) {
//Populate and register the asset views
ImageView imageView = adView.findViewById(R.id.imageView_ad_image);
TextView textViewHeadLine = adView.findViewById(R.id.textView_ad_headline);
TextView textViewBody = adView.findViewById(R.id.textView_ad_body);
Button actionButton = adView.findViewById(R.id.button_ad_call_to_action);
//Registering the View to the adView
adView.setHeadlineView(textViewHeadLine);
adView.setBodyView(textViewBody);
adView.setImageView(imageView);
adView.setCallToActionView(actionButton);
//This final step registers the native ad object with the view that's responsible for displaying it
adView.setNativeAd(nativeAd);
//Populating the View
if (adView.getImageView() == null) {
imageView.setVisibility(View.GONE);
} else {
imageView.setImageDrawable(nativeAd.getImages().get(0).getDrawable());
imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);
}
if (adView.getHeadlineView() == null) {
textViewHeadLine.setText(nativeAd.getHeadline());
} else {
textViewHeadLine.setVisibility(View.GONE);
}
if (adView.getBodyView() == null) {
textViewBody.setText(nativeAd.getBody());
} else {
textViewBody.setVisibility(View.GONE);
}
if (adView.getCallToActionView() == null) {
actionButton.setVisibility(View.GONE);
} else {
actionButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
try {
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(nativeAd.getCallToAction())));
} catch (android.content.ActivityNotFoundException appNotFound) {
appNotFound.printStackTrace();
}
}
});
}
}
// Но я не знаю, как использовать getCallToAction, метод, который я создал, просто открывает магазин воспроизведения, но не на странице, так что, вероятно, это неправильно.