Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. We have updated the language to the Editor Terms based on feedback from our employees and community. Learn more.
    Dismiss Notice

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:
    603
  3. mmtplt

    mmtplt

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

    SamOYUnity3D

    Unity Technologies

    Joined:
    May 12, 2019
    Posts:
    603
  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:
    603
    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:
    603