Skip to content

Commit 27f677a

Browse files
committed
Google Ad added, inmobi removed
1 parent e2c2176 commit 27f677a

File tree

12 files changed

+323
-73
lines changed

12 files changed

+323
-73
lines changed

.idea/gradle.xml

+1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/build.gradle

+1-1
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ dependencies {
6868

6969
// for ad
7070
implementation 'com.google.android.gms:play-services-ads:22.6.0'
71-
implementation 'com.inmobi.monetization:inmobi-ads:10.1.3'
71+
implementation project(':nativetemplates')
7272
implementation 'com.google.android.gms:play-services-ads-identifier:18.0.1'
7373
implementation 'com.google.android.gms:play-services-location:21.1.0'
7474
//optional dependency for better targeting

app/src/main/java/com/pypisan/kinani/view/HomeSplash.java

-29
Original file line numberDiff line numberDiff line change
@@ -15,25 +15,16 @@
1515
import android.widget.Toast;
1616

1717
import com.google.android.gms.ads.MobileAds;
18-
import com.google.android.gms.ads.RequestConfiguration;
1918
import com.google.android.gms.ads.initialization.InitializationStatus;
2019
import com.google.android.gms.ads.initialization.OnInitializationCompleteListener;
21-
import com.inmobi.sdk.InMobiSdk;
22-
import com.inmobi.sdk.SdkInitializationListener;
2320
import com.pypisan.kinani.R;
2421
import com.pypisan.kinani.api.RequestModule;
2522
import com.pypisan.kinani.api.UserInit;
2623
import com.pypisan.kinani.model.UserModel;
2724
import com.pypisan.kinani.storage.AnimeManager;
2825
import com.pypisan.kinani.storage.Constant;
29-
30-
import org.json.JSONException;
3126
import org.json.JSONObject;
3227

33-
import java.util.Arrays;
34-
import java.util.Collections;
35-
import java.util.List;
36-
3728
import retrofit2.Call;
3829
import retrofit2.Callback;
3930
import retrofit2.Response;
@@ -49,26 +40,6 @@ protected void onCreate(Bundle savedInstanceState) {
4940
ProgressBar loader = findViewById(R.id.loader);
5041
AnimeManager animeManager = new AnimeManager(getApplicationContext());
5142
JSONObject consentObject = new JSONObject();
52-
try {
53-
// Provide correct consent value to sdk which is obtained by User
54-
consentObject.put(InMobiSdk.IM_GDPR_CONSENT_AVAILABLE, true);
55-
// Provide 0 if GDPR is not applicable and 1 if applicable
56-
consentObject.put("gdpr", "0");
57-
// Provide user consent in IAB format
58-
consentObject.put(InMobiSdk.IM_GDPR_CONSENT_IAB, true);
59-
} catch (JSONException e) {
60-
e.printStackTrace();
61-
}
62-
InMobiSdk.init(this, "b048bb9ebf634fb78efeb09f053ac225", consentObject, new SdkInitializationListener() {
63-
@Override
64-
public void onInitializationComplete(@Nullable Error error) {
65-
if (null != error) {
66-
Log.e("InMobi", "InMobi Init failed -" + error.getMessage());
67-
} else {
68-
Log.d("InMobi", "InMobi Init Successful");
69-
}
70-
}
71-
});
7243

7344
// Google Ads
7445

app/src/main/java/com/pypisan/kinani/view/HomeView.java

+61-7
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,19 @@
11
package com.pypisan.kinani.view;
22

3+
import android.animation.Animator;
4+
import android.animation.AnimatorListenerAdapter;
5+
import android.animation.ObjectAnimator;
36
import android.content.Intent;
47
import android.database.Cursor;
8+
import android.graphics.drawable.ColorDrawable;
59
import android.os.Bundle;
610
import android.util.Log;
711
import android.view.LayoutInflater;
812
import android.view.View;
913
import android.view.ViewGroup;
14+
import android.view.animation.AccelerateDecelerateInterpolator;
15+
import android.view.animation.DecelerateInterpolator;
16+
import android.widget.Button;
1017
import android.widget.ImageView;
1118
import android.widget.LinearLayout;
1219
import android.widget.RelativeLayout;
@@ -22,9 +29,13 @@
2229
import androidx.recyclerview.widget.RecyclerView;
2330

2431
import com.facebook.shimmer.ShimmerFrameLayout;
32+
import com.google.android.ads.nativetemplates.NativeTemplateStyle;
33+
import com.google.android.ads.nativetemplates.TemplateView;
34+
import com.google.android.gms.ads.AdLoader;
2535
import com.google.android.gms.ads.AdRequest;
2636
import com.google.android.gms.ads.AdView;
27-
import com.inmobi.ads.InMobiBanner;
37+
import com.google.android.gms.ads.MobileAds;
38+
import com.google.android.gms.ads.nativead.NativeAd;
2839
import com.pypisan.kinani.R;
2940
import com.pypisan.kinani.adapter.ContinueWatchingAdapter;
3041
import com.pypisan.kinani.adapter.HomeViewAdapter;
@@ -114,12 +125,57 @@ public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceStat
114125
ImageView trendingMore = view.findViewById(R.id.trending_more);
115126
ImageView recommendationMore = view.findViewById(R.id.recommended_more);
116127

128+
// Activating Animation
129+
LinearLayout frontCard = view.findViewById(R.id.frontView);
130+
LinearLayout backCard = view.findViewById(R.id.backView);
131+
Button seeAnswer = view.findViewById(R.id.unknown_button);
132+
133+
seeAnswer.setOnClickListener(new View.OnClickListener() {
134+
@Override
135+
public void onClick(View v) {
136+
final ObjectAnimator oa1 = ObjectAnimator.ofFloat(frontCard, "scaleX", 1f, 0f);
137+
final ObjectAnimator oa2 = ObjectAnimator.ofFloat(backCard, "scaleX", 0f, 1f);
138+
oa1.setInterpolator(new DecelerateInterpolator());
139+
oa2.setInterpolator(new AccelerateDecelerateInterpolator());
140+
oa1.addListener(new AnimatorListenerAdapter() {
141+
@Override
142+
public void onAnimationEnd(Animator animation) {
143+
super.onAnimationEnd(animation);
144+
backCard.setVisibility(View.VISIBLE);
145+
oa2.start();
146+
}
147+
});
148+
oa1.start();
149+
oa1.setDuration(300);
150+
oa2.setDuration(300);
151+
}
152+
});
153+
117154
// Ads
118-
InMobiBanner bannerAdTop = (InMobiBanner) view.findViewById(R.id.banner);
119-
InMobiBanner bannerAdBottom = (InMobiBanner) view.findViewById(R.id.banner2);
155+
AdView bannerAdTop = view.findViewById(R.id.banner);
156+
AdView bannerAdBottom = view.findViewById(R.id.banner2);
120157
AdView googleAdView = view.findViewById(R.id.gadView);
121-
AdRequest adRequest = new AdRequest.Builder().build();
122-
googleAdView.loadAd(adRequest);
158+
googleAdView.loadAd(new AdRequest.Builder().build());
159+
bannerAdBottom.loadAd(new AdRequest.Builder().build());
160+
bannerAdTop.loadAd(new AdRequest.Builder().build());
161+
162+
// Native Ad
163+
MobileAds.initialize(getContext());
164+
AdLoader adLoader = new AdLoader.Builder(getContext(), "ca-app-pub-3251882712461623/7937761777")
165+
.forNativeAd(new NativeAd.OnNativeAdLoadedListener() {
166+
@Override
167+
public void onNativeAdLoaded(NativeAd nativeAd) {
168+
ColorDrawable background = ((ColorDrawable)frontCard.getBackground());
169+
NativeTemplateStyle styles = new
170+
NativeTemplateStyle.Builder().withMainBackgroundColor(background).build();
171+
TemplateView template = view.findViewById(R.id.my_template_ad);
172+
template.setStyles(styles);
173+
template.setNativeAd(nativeAd);
174+
}
175+
})
176+
.build();
177+
178+
adLoader.loadAd(new AdRequest.Builder().build());
123179

124180
// Starting Shimmer Effect
125181
containerRecent.startShimmer();
@@ -255,8 +311,6 @@ public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) {
255311

256312
// Setting Data
257313
scheduleAdapter = new RecentlyAiredAdapter(animeScheduleListInc, getContext(), this::onItemClicked);
258-
bannerAdTop.load();
259-
bannerAdBottom.load();
260314

261315
// Continue Watching Recycler
262316
recyclerView_continue = view.findViewById(R.id.home_recycler_view_continue_watching);

app/src/main/java/com/pypisan/kinani/view/SummaryView.java

+5-4
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@
2626
import com.airbnb.lottie.LottieAnimationView;
2727
import com.bumptech.glide.Glide;
2828
import com.facebook.shimmer.ShimmerFrameLayout;
29-
import com.inmobi.ads.InMobiBanner;
29+
import com.google.android.gms.ads.AdRequest;
30+
import com.google.android.gms.ads.AdView;
3031
import com.pypisan.kinani.R;
3132
import com.pypisan.kinani.api.RequestModule;
3233
import com.pypisan.kinani.model.AnimeEpisodeListModel;
@@ -57,7 +58,7 @@ public class SummaryView extends Fragment{
5758
private String animeTitle, animeDetailLink, animeLink,showType;
5859
private ShimmerFrameLayout containerImg, containerSummaryText, containerImgHead;
5960
// private Animation animationImage;
60-
private InMobiBanner bannerAd;
61+
private AdView bannerAd;
6162
private CardView cardImageTitle, cardHeadImage;
6263

6364
private AppCompatSpinner episodeSpinner;
@@ -118,10 +119,10 @@ public void onClick(View view) {
118119
});
119120

120121
// Ads
121-
bannerAd = (InMobiBanner)view.findViewById(R.id.banner);
122+
bannerAd = view.findViewById(R.id.banner);
122123
// Fetching Anime Detail Summary
123124
getAnimeSummary(view, animeName, showType);
124-
bannerAd.load();
125+
bannerAd.loadAd(new AdRequest.Builder().build());
125126

126127
// For animation
127128
Animation animationImage = AnimationUtils.loadAnimation(getContext(), R.anim.summary_image);

app/src/main/res/anim/card_back.xml

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<set xmlns:android="http://schemas.android.com/apk/res/android">
3+
<objectAnimator
4+
android:valueFrom="1.0"
5+
android:valueTo="0.0"
6+
android:propertyName="alpha"
7+
android:duration="0"
8+
/>
9+
<objectAnimator
10+
android:valueFrom="180"
11+
android:valueTo="0"
12+
android:propertyName="rotationY"
13+
android:repeatMode="reverse"
14+
android:duration="1000"
15+
/>
16+
17+
<objectAnimator
18+
android:valueFrom="0.0"
19+
android:valueTo="1.0"
20+
android:propertyName="alpha"
21+
android:startOffset="500"
22+
android:duration="0"
23+
/>
24+
25+
</set>

app/src/main/res/anim/card_front.xml

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<set xmlns:android="http://schemas.android.com/apk/res/android">
3+
<objectAnimator
4+
android:valueFrom="0"
5+
android:valueTo="180"
6+
android:propertyName="rotationY"
7+
android:duration="1000"
8+
/>
9+
<objectAnimator
10+
android:valueFrom="1.0"
11+
android:valueTo="0.0"
12+
android:propertyName="alpha"
13+
android:startOffset="500"
14+
android:duration="1"
15+
/>
16+
</set>

0 commit comments

Comments
 (0)