From 4bcc1b26806127aa5d177e443d6fcbaf7614def3 Mon Sep 17 00:00:00 2001 From: klaus Date: Tue, 19 Sep 2023 22:42:11 +0900 Subject: [PATCH] =?UTF-8?q?point=20click=20sdk=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 5 ++- app/proguard-rules.pro | 7 ++++ app/src/main/AndroidManifest.xml | 9 ++++++ .../main/AudioContentMainFragment.kt | 5 +++ .../vividnext/sodalive/main/MainActivity.kt | 30 +++++++++++++++++- .../main/res/drawable-xxhdpi/ic_ads_can.png | Bin 0 -> 1387 bytes .../layout/fragment_audio_content_main.xml | 29 +++++++++++++---- gradle.properties | 1 + settings.gradle | 12 +++++++ 9 files changed, 89 insertions(+), 9 deletions(-) create mode 100644 app/src/main/res/drawable-xxhdpi/ic_ads_can.png diff --git a/app/build.gradle b/app/build.gradle index 4a080bd..8de59d8 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -175,5 +175,8 @@ dependencies { implementation "com.michalsvec:single-row-calednar:1.0.0" - implementation 'com.google.android.gms:play-services-ads:22.3.0' + implementation 'com.google.android.gms:play-services-ads:22.4.0' + + // PointClick Maven Remote Repo + implementation 'kr.co.pointclick.sdk.offerwall:pointclick-sdk-offerwall:1.1.01' } diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index 4478a11..4cadbac 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -221,3 +221,10 @@ -keep class androidx.viewpager2.widget.**{*;} -keep class kr.co.bootpay.core.** { *; } + +-keep class kr.co.pointclick.sdk.offerwall.core.consts.** {*;} +-keep interface kr.co.pointclick.sdk.offerwall.core.consts.** {*;} +-keep class kr.co.pointclick.sdk.offerwall.core.models.** {*;} +-keep interface kr.co.pointclick.sdk.offerwall.core.models.** {*;} +-keep class kr.co.pointclick.sdk.offerwall.core.PointClickAd {*;} +-keep class kr.co.pointclick.sdk.offerwall.core.events.PackageReceiver {*;} diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5218050..082eaa5 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -28,6 +28,15 @@ + + + + + + ( binding.swipeRefreshLayout.isRefreshing = false viewModel.getMain() } + + binding.ivCanFree.setOnClickListener { + PointClickAd.showOfferwall(requireActivity(), "무료충전") + } } private fun setupNewContentCreator() { diff --git a/app/src/main/java/kr/co/vividnext/sodalive/main/MainActivity.kt b/app/src/main/java/kr/co/vividnext/sodalive/main/MainActivity.kt index fc01f1f..0ec7c1e 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/main/MainActivity.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/main/MainActivity.kt @@ -19,6 +19,8 @@ import com.google.firebase.messaging.FirebaseMessaging import com.gun0912.tedpermission.PermissionListener import com.gun0912.tedpermission.normal.TedPermission import com.orhanobut.logger.Logger +import kr.co.pointclick.sdk.offerwall.core.PointClickAd +import kr.co.pointclick.sdk.offerwall.core.events.PackageReceiver import kr.co.vividnext.sodalive.R import kr.co.vividnext.sodalive.audio_content.AudioContentPlayService import kr.co.vividnext.sodalive.audio_content.detail.AudioContentDetailActivity @@ -45,6 +47,7 @@ class MainActivity : BaseActivity(ActivityMainBinding::infl private lateinit var liveFragment: LiveFragment private lateinit var loadingDialog: LoadingDialog + private lateinit var packageReceiver: PackageReceiver private lateinit var notificationSettingsDialog: NotificationSettingsDialog private val handler = Handler(Looper.getMainLooper()) @@ -63,6 +66,7 @@ class MainActivity : BaseActivity(ActivityMainBinding::infl getMemberInfo() getEventPopup() + initPointClick() handler.postDelayed({ executeDeeplink() }, 500) } @@ -79,8 +83,13 @@ class MainActivity : BaseActivity(ActivityMainBinding::infl } override fun onPause() { - super.onPause() unregisterReceiver(audioContentReceiver) + super.onPause() + } + + override fun onDestroy() { + unregisterReceiver(packageReceiver) + super.onDestroy() } override fun setupView() { @@ -362,6 +371,25 @@ class MainActivity : BaseActivity(ActivityMainBinding::infl } } + private fun initPointClick() { + try { + val intentFilter = IntentFilter() + intentFilter.addAction(Intent.ACTION_PACKAGE_ADDED); + intentFilter.addAction(Intent.ACTION_PACKAGE_REMOVED); + intentFilter.addDataScheme("package"); + + packageReceiver = PackageReceiver() + registerReceiver(packageReceiver, intentFilter) + } catch (e: Exception) { + e.printStackTrace() + } + + PointClickAd.init( + "fc07cfb1-ef16-455c-bdad-22aa9e8fd78c", + SharedPreferenceManager.userId.toString() + ) + } + inner class AudioContentReceiver : BroadcastReceiver() { override fun onReceive(context: Context?, intent: Intent?) { val contentId = intent?.getLongExtra(Constants.EXTRA_AUDIO_CONTENT_ID, 0) diff --git a/app/src/main/res/drawable-xxhdpi/ic_ads_can.png b/app/src/main/res/drawable-xxhdpi/ic_ads_can.png new file mode 100644 index 0000000000000000000000000000000000000000..5b9021333b1278ac81113b39071295b84b011d07 GIT binary patch literal 1387 zcmV-x1(f=UP)!c5zJgX@WtSH@+*P`z`3($jZVeidgJvbFe1Vn5iEQnW-c}>z@o#f z0C6mEM3)#hbG_Tl#T5^{(kr@z?`B^MM82A3F4#flmmKn0Nn}X8%x0~z>$j$QKENL@n#jKCXsoi%5T(kA^Pdbx+oZ7j{s5Ft~R;s ziGGJ1>_00Y(pDA@X_wn11GlG$Ov;TjBO-qI>N38OA3glX2uYYU zX|9cW!2@mr(1xqSmpcFEhn?tpW*T>d5{h%H9t7If2ariO;>6b%73Yp0P2YY396PKH z{SBMLh(4b{rB8oc*SAjN$zB)6F9a3#>sRPmCR@ht~ zI(u9J54h$4HBI-FyiLvtcXj;*tFWvTrsKa<@7n=40hZP(lU633x1_K!3%4QAw8o3X z@r=So6XOeg!JFPUTL8_4e)=05sRs|ZML_#QRT>+u3ra-+T`bXS<{mp@*a?l>#+jB`? z>2;9e#vc$d@p~Slq;S$(EYV!DX`7Gyl>ra92|%Z_t?&3T_G1v|PHB5p4(}3+Bz~(J7gi3=gGN-T;EG&WukaTS#<3lSZ0Z4ES zjiEcLwucHLc_aI_%H2pyh$E+aPAVb>2AGmyp&%X5v*&WKmBLLnLS@C`0WiQMKu_Zz zLo^E1_F{o8(eNUZ)~^^P0kIc5C*xp%c^cG - + android:layout_marginBottom="26.7dp"> + + + + +