Search Unity

Other UnityAds Error Android Studio

Discussion in 'Unity Ads & User Acquisition' started by mmtplt, May 19, 2023.

  1. mmtplt

    mmtplt

    Joined:
    Apr 18, 2020
    Posts:
    5
    Merhaba UnityAds'ı Android studio'da 3.7.0'dan 4.xx'e yükselttiğim için çok hata alıyorum nasıl çözeceğimi bilmiyorum yardımcı olur musunuz?

     
  2. SamOYUnity3D

    SamOYUnity3D

    Unity Technologies

    Joined:
    May 12, 2019
    Posts:
    626
  3. mmtplt

    mmtplt

    Joined:
    Apr 18, 2020
    Posts:
    5
  4. SamOYUnity3D

    SamOYUnity3D

    Unity Technologies

    Joined:
    May 12, 2019
    Posts:
    626
  5. mmtplt

    mmtplt

    Joined:
    Apr 18, 2020
    Posts:
    5
    sorry i try new ones instead but it doesn't work.I'm leaving my script below if you have a chance to see if it will function in this way. How can I do. Thank you very much.

    Code (CSharp):
    1. package com.cApp.easyC.activity;
    2.  
    3. import androidx.appcompat.app.AppCompatActivity;
    4. import androidx.appcompat.widget.AppCompatButton;
    5. import androidx.appcompat.widget.Toolbar;
    6. import androidx.cardview.widget.CardView;
    7.  
    8. import android.app.Activity;
    9. import android.app.Dialog;
    10. import android.content.Context;
    11. import android.graphics.Color;
    12. import android.graphics.drawable.ColorDrawable;
    13. import android.os.Bundle;
    14. import android.util.Log;
    15. import android.view.View;
    16. import android.view.Window;
    17. import android.widget.ImageView;
    18. import android.widget.LinearLayout;
    19. import android.widget.TextView;
    20.  
    21. import com.cApp.easyC.R;
    22. import com.cApp.easyC.util.Ads_Controller;
    23. import com.cApp.easyC.util.Ads_ID_Controller;
    24. import com.cApp.easyC.util.SomeEarn_Controller;
    25. import com.cApp.easyC.util.Constant;
    26. import com.google.android.gms.ads.AdListener;
    27. import com.google.android.gms.ads.AdRequest;
    28. import com.google.android.gms.ads.AdSize;
    29. import com.google.android.gms.ads.AdView;
    30. import com.google.android.gms.ads.LoadAdError;
    31. import com.unity3d.ads.IUnityAdsInitializationListener;
    32. import com.unity3d.ads.IUnityAdsListener;
    33. import com.unity3d.ads.IUnityAdsShowListener;
    34. import com.unity3d.ads.UnityAds;
    35. import java.text.ParseException;
    36. import java.text.SimpleDateFormat;
    37. import java.util.Date;
    38. import java.util.Locale;
    39. import java.util.Timer;
    40. import java.util.TimerTask;
    41.  
    42. public class GoldRewardActivity extends AppCompatActivity implements IUnityAdsListener, IUnityAdsInitializationListener, IUnityAdsShowListener {
    43.     //Unity
    44.     private static final String PLACEMENT_ID_SKIPPABLE_VIDEO = "video";
    45.     private static final String PLACEMENT_ID_REWARDED_VIDEO = "rewardedVideo";
    46.     private String mGameId;
    47.     private Dialog UnityDialog, dialogAdcolony, dialogStartAppVideoAds, ApplovinDialog;
    48.     //
    49.  
    50.     CardView GetMyCoin;
    51.     private Context activity;
    52.     private TextView GoldRewardTextView, points_textView;
    53.     SomeEarn_Controller someEarn_controller;
    54.     Ads_Controller ads_controller;
    55.     private LinearLayout adLayout;
    56.     Ads_ID_Controller ads_id_controller;
    57.  
    58.     @Override
    59.     protected void onCreate(Bundle savedInstanceState) {
    60.         super.onCreate(savedInstanceState);
    61.         setContentView(R.layout.activity_gold_reward);
    62.  
    63.         Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    64.         setSupportActionBar(toolbar);
    65.         toolbar.setNavigationIcon(getResources().getDrawable(R.drawable.ic_baseline_back));
    66.         toolbar.setNavigationOnClickListener(new View.OnClickListener() {
    67.             @Override
    68.             public void onClick(View v) {
    69.                 onBackPressed();
    70.             }
    71.         });
    72.  
    73.         activity = this;
    74.         GetMyCoin = findViewById(R.id.GetMyCoin);
    75.         GoldRewardTextView = findViewById(R.id.GoldRewardTextView);
    76.         points_textView = findViewById(R.id.points_text_in_toolbar);
    77.         ads_controller = new Ads_Controller(this);
    78.         adLayout = findViewById(R.id.banner_container);
    79.  
    80.         ads_id_controller = new Ads_ID_Controller(this);
    81.  
    82.         GetMyCoin.setOnClickListener(new View.OnClickListener() {
    83.             @Override
    84.             public void onClick(View view) {
    85.                 checkDailyCoin();
    86.             }
    87.         });
    88.         someEarn_controller = new SomeEarn_Controller(this);
    89.         GoldRewardTextView.setText(someEarn_controller.getGoldRewardPoint());
    90.         setPointsText();
    91.  
    92.         //Vungle
    93.         Constant.initVungle((Activity) activity);
    94.         Constant.loadAdVungle((Activity) activity);
    95.  
    96.         //Adcolony
    97.         Constant.initRewardedAdAdColony((Activity) activity);
    98.  
    99.         if (ads_controller.getBannerAdsControl().equals("Admob")) {
    100.             loadBannerAdmob();
    101.         } else if (ads_controller.getBannerAdsControl().equals("Facebook")) {
    102.             loadBannerFacebook();
    103.         }
    104.  
    105.         //Unity ads
    106.         Constant.initUnityAds((Activity) activity);
    107.  
    108.     }
    109.  
    110.     private void setPointsText() {
    111.         if (points_textView != null) {
    112.             String userPoints = Constant.getString(activity, Constant.USER_POINTS);
    113.             if (userPoints.equalsIgnoreCase("")) {
    114.                 userPoints = "0";
    115.             }
    116.             points_textView.setText(userPoints);
    117.         }
    118.     }
    119.  
    120.     private void checkDailyCoin() {
    121.         if (Constant.isNetworkAvailable(activity)) {
    122.  
    123.             String currentDate = new SimpleDateFormat("dd-MM-yyyy", Locale.getDefault()).format(new Date());
    124.             Log.e("TAG", "onClick: Current Date" + currentDate);
    125.             String gold_reward_date = Constant.getString(activity, Constant.GoldReward_DATE);
    126.             Log.e("TAG", "onClick: gold_reward_date Date" + gold_reward_date);
    127.             if (gold_reward_date.equals("")) {
    128.                 Constant.setString(activity, Constant.GoldReward_DATE, currentDate);
    129.                 Constant.addPoints(activity, Integer.parseInt(GoldRewardTextView.getText().toString()), 0);
    130.                 showDialogOfPoints(Integer.parseInt(GoldRewardTextView.getText().toString()));
    131.                 if (getApplicationContext() == null) {
    132.                     return;
    133.                 }
    134.                 setPointsText();
    135.  
    136.             } else {
    137.                 SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy");
    138.                 try {
    139.                     Date pastDAte = sdf.parse(gold_reward_date);
    140.                     Date currentDAte = sdf.parse(currentDate);
    141.                     long diff = currentDAte.getTime() - pastDAte.getTime();
    142.                     long difference_In_Days = (diff / (1000 * 60 * 60 * 24)) % 365;
    143.                     Log.e("TAG", "onClick: Days Diffrernce" + difference_In_Days);
    144.                     if (difference_In_Days > 0) {
    145.                         Constant.setString(activity, Constant.GoldReward_DATE, currentDate);
    146.                         Constant.addPoints(activity, Integer.parseInt(GoldRewardTextView.getText().toString()), 0);
    147.                         showDialogOfPoints(Integer.parseInt(GoldRewardTextView.getText().toString()));
    148.                         if (getApplicationContext() == null) {
    149.                             return;
    150.                         }
    151.                         ((MainActivity) getApplicationContext()).setPointsText();
    152.                     } else {
    153.                         showDialogOfPoints(0);
    154.                     }
    155.                 } catch (ParseException e) {
    156.                     e.printStackTrace();
    157.                 }
    158.             }
    159.         } else {
    160.             Constant.showInternetErrorDialog(activity, getResources().getString(R.string.internet_connection_of_text));
    161.         }
    162.     }
    163.  
    164.     public void showDialogOfPoints(int points) {
    165.         final Dialog dialog = new Dialog(activity);
    166.         dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
    167.         dialog.setContentView(R.layout.show_points_dialog);
    168.         dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
    169.         dialog.setCancelable(false);
    170.  
    171.         ImageView imageView = dialog.findViewById(R.id.points_image);
    172.         TextView title_text = dialog.findViewById(R.id.title_text_points);
    173.         TextView points_text = dialog.findViewById(R.id.points);
    174.         AppCompatButton add_btn = dialog.findViewById(R.id.add_btn);
    175.  
    176.         if (points == Integer.parseInt(GoldRewardTextView.getText().toString())) {
    177.             title_text.setText(getResources().getString(R.string.you_win));
    178.             points_text.setVisibility(View.VISIBLE);
    179.             points_text.setText(String.valueOf(points));
    180.             add_btn.setText(getResources().getString(R.string.account_add_to_wallet));
    181.  
    182.         } else {
    183.             title_text.setText(getResources().getString(R.string.today_checkin_over));
    184.             points_text.setVisibility(View.GONE);
    185.             add_btn.setText(getResources().getString(R.string.ok_text));
    186.         }
    187.         add_btn.setOnClickListener(new View.OnClickListener() {
    188.             @Override
    189.             public void onClick(View view) {
    190.                 dialog.dismiss();
    191.                 //  Video Ads
    192.                 String typeOfAds = ads_controller.getCollect_reward_ads();
    193.                 switch (typeOfAds) {
    194.                     case "Admob":
    195.                         Constant.showRewardedAdmobAds((Activity) activity);
    196.                         break;
    197.                     case "Facebook":
    198.                         Constant.showRewardedFacebookAds((Activity) activity);
    199.                         break;
    200.                     case "Vungle":
    201.                         Constant.showRewardedVungleAds((Activity) activity);
    202.                         break;
    203.  
    204.                     case "UnityAds":
    205.                         //Unity
    206.                         Constant.ShowUnityAds((Activity) activity);
    207.                         break;
    208.                     case "AdColony":
    209.                         Constant.ShowAdcolonyAds((Activity) activity);
    210.  
    211.                         break;
    212.                     case "Startapp":
    213.                         Constant.StartappRewardedVideo((Activity) activity);
    214.  
    215.                         break;
    216.                     case "applovin":
    217.                         Constant.ApplovinShowAds((Activity) activity);
    218.  
    219.                         break;
    220.                 }
    221.  
    222.  
    223.             }
    224.         });
    225.         dialog.show();
    226.  
    227.     }
    228.  
    229.     @Override
    230.     public void onInitializationComplete() {
    231.         final java.util.Timer AdTimer = new Timer();
    232.         AdTimer.schedule(new TimerTask() {
    233.             @Override
    234.             public void run() {
    235.                 runOnUiThread(() -> {
    236.                     showUnitySkippAbleVideoAd();
    237.                 });
    238.             }
    239.         }, 5000);
    240.     }
    241.  
    242.     @Override
    243.     public void onInitializationFailed(UnityAds.UnityAdsInitializationError error, String message) {
    244.  
    245.     }
    246.  
    247.     @Override
    248.     public void onUnityAdsReady(String placementId) {
    249.  
    250.     }
    251.  
    252.     @Override
    253.     public void onUnityAdsStart(String placementId) {
    254.  
    255.     }
    256.  
    257.     @Override
    258.     public void onUnityAdsFinish(String placementId, UnityAds.FinishState result) {
    259.  
    260.     }
    261.  
    262.     @Override
    263.     public void onUnityAdsError(UnityAds.UnityAdsError error, String message) {
    264.  
    265.     }
    266.  
    267.     @Override
    268.     public void onUnityAdsShowFailure(String placementId, UnityAds.UnityAdsShowError error, String message) {
    269.  
    270.     }
    271.  
    272.     @Override
    273.     public void onUnityAdsShowStart(String placementId) {
    274.  
    275.     }
    276.  
    277.     @Override
    278.     public void onUnityAdsShowClick(String placementId) {
    279.  
    280.     }
    281.  
    282.     @Override
    283.     public void onUnityAdsShowComplete(String placementId, UnityAds.UnityAdsShowCompletionState state) {
    284.  
    285.     }
    286.  
    287.  
    288.     private void initUnityAds() {
    289.         mGameId = ads_id_controller.getUnity_Game_Id();
    290.         UnityAds.setDebugMode(true);
    291.         UnityAds.addListener(this);
    292.         UnityAds.initialize(GoldRewardActivity.this, mGameId, true, this);
    293.     }
    294.  
    295.     private void showUnitySkippAbleVideoAd() {
    296.         if (!UnityAds.isReady(PLACEMENT_ID_SKIPPABLE_VIDEO)) {
    297.  
    298.             return;
    299.         }
    300.         UnityAds.show(this, PLACEMENT_ID_SKIPPABLE_VIDEO, this);
    301.     }
    302.  
    303.     @Override
    304.     public void onBackPressed() {
    305.         super.onBackPressed();
    306.         finish();
    307.         //  Video Ads
    308.         String typeOfAds = ads_controller.getCollect_reward_ads();
    309.         switch (typeOfAds) {
    310.             case "Admob":
    311.                 Constant.showRewardedAdmobAds((Activity) activity);
    312.                 break;
    313.             case "Facebook":
    314.                 Constant.showRewardedFacebookAds((Activity) activity);
    315.                 break;
    316.             case "Vungle":
    317.                 Constant.showRewardedVungleAds((Activity) activity);
    318.                 break;
    319.  
    320.             case "UnityAds":
    321.                 //Unity
    322.                 Constant.ShowUnityAds((Activity) activity);
    323.  
    324.                 break;
    325.             case "AdColony":
    326.                 Constant.ShowAdcolonyAds((Activity) activity);
    327.  
    328.                 break;
    329.             case "Startapp":
    330.                 Constant.StartappRewardedVideo((Activity) activity);
    331.  
    332.                 break;
    333.             case "applovin":
    334.                 Constant.ApplovinShowAds((Activity) activity);
    335.  
    336.                 break;
    337.         }
    338.  
    339.     }
    340.  
    341.     private void loadBannerAdmob() {
    342.  
    343.         final AdView adView = new AdView(activity);
    344.         adView.setAdSize(AdSize.MEDIUM_RECTANGLE);
    345.         adView.setAdUnitId(ads_id_controller.getAdmob_banner_id());
    346.         adView.setAdListener(new AdListener() {
    347.             @Override
    348.             public void onAdLoaded() {
    349.                 super.onAdLoaded();
    350.                 adLayout.addView(adView);
    351.             }
    352.  
    353.             @Override
    354.             public void onAdFailedToLoad(LoadAdError loadAdError) {
    355.                 super.onAdFailedToLoad(loadAdError);
    356.                 Log.v("admob", "error" + loadAdError.getMessage());
    357.             }
    358.         });
    359.         adView.loadAd(new AdRequest.Builder().build());
    360.  
    361.     }
    362.  
    363.     private void loadBannerFacebook() {
    364.         com.facebook.ads.AdView adView = new com.facebook.ads.AdView(activity, getResources().getString(R.string.facebook_banner_ads_id), com.facebook.ads.AdSize.RECTANGLE_HEIGHT_250);
    365.         adView.loadAd();
    366.         adLayout.addView(adView);
    367.  
    368.     }
    369.  
    370.  
    371. }
     
  6. SamOYUnity3D

    SamOYUnity3D

    Unity Technologies

    Joined:
    May 12, 2019
    Posts:
    626
    IUnityAdsListener has been deprecated, please remove it, and please implement IUnityAdsLoadListener in your code.
     
  7. mmtplt

    mmtplt

    Joined:
    Apr 18, 2020
    Posts:
    5
    OK, so I did. I added it as both import and implement. So how should I update addListener and Isready below. Error when using 'load'


    Code (CSharp):
    1.     private void initUnityAds() {
    2.         mGameId = ads_id_controller.getUnity_Game_Id();
    3.         UnityAds.setDebugMode(true);
    4.         UnityAds.addListener(this);
    5.         UnityAds.initialize(GoldRewardActivity.this, mGameId, true, this);
    6.     }
    7.  
    8.     private void showUnitySkippAbleVideoAd() {
    9.         if (!UnityAds.isReady(PLACEMENT_ID_SKIPPABLE_VIDEO)) {
    10.  
    11.             return;
    12.         }
    13.         UnityAds.show(this, PLACEMENT_ID_SKIPPABLE_VIDEO, this);
    14.     }
     
  8. SamOYUnity3D

    SamOYUnity3D

    Unity Technologies

    Joined:
    May 12, 2019
    Posts:
    626