adforus_greenp_plugin 1.0.3 copy "adforus_greenp_plugin: ^1.0.3" to clipboard
adforus_greenp_plugin: ^1.0.3 copied to clipboard

AdForUs GreenP OfferWall Plugin for Flutter. Supporting both Android and iOS. Refer to our website https://greenp.kr/ for more details on how to join our program and use our SDK Offer Walls

Greenp 오퍼월 지원 가이드 #

기본 요건 #

  • Flutter SDK 3.13.1 이상
  • 권장사항: Flutter SDK 3.27.1 이상
  • Android: 최신 버전의 Android Studio
  • Android: minSdkVersion 24
  • iOS: 최신 버전의 Xcode와 명령어 도구 활성화
  • iOS: Deployment Target 14 이상

플랫폼별 설정 #

Android #

Manifest.xml 권한 설정 #

플러그인과 함께 사용하기 위한 권한 요구 사항. 올바른 플러그인 통합을 위해 필수입니다

<uses-permission android:name=“android.permission.ACCESS_NETWORK_STATE”/>  
<uses-permission android:name=“com.google.android.gms.permission.AD_ID”/>
<!-- CS 첨부파일 등록을 위해 외부 파일 접근권한이 필요합니다. api level에 따라 선택해서 선언해주세요. -->  
<!-- targetSdk 33 이상 -->  
<uses-permission android:name=“android.permission.READ_MEDIA_IMAGES”/>

HTTP 트래픽 설정 #

올바르게 트래픽을 설정하려면 반드시 설정해야 합니다.

<application 
	... 
	android:usesCleartextTraffic="true"> 
	... 
<application/>

런타임 빌드 오류가 발생하고 오퍼월로 이동할 때 이 오류 메시지가 나타납니다. OfferWallActivity는 부모 애플리케이션의 테마 유형이 동일해야 합니다. 설정이 올바르지 않으면 빌드 오류와 충돌이 발생할 수 있습니다.

E/AndroidRuntime(17535): java.lang.RuntimeException: Unable to start activity
ComponentInfo{com.example.greenpsample/
com.adforus.sdk.greenp.v3.ui.
view.activity.GreenpOfferwallActivity}:java.lang.IllegalStateException: 
You need to use a Theme.AppCompat theme (or descendant) with this activity.

values/styles.xmlTheme.AppCompat 업데이트해야 합니다


<style name="LaunchTheme" parent="Theme.AppCompat.Light.NoActionBar"> // ✅ 수정된 테마입니다 
    <item name="android:windowFullscreen">true</item>
</style>

이 테마가 애플리케이션 수준에서 설정되었는지 확인하세요. 이 설정은 AndroidManifest.xml의

    <application
        android:label="greenpsample"
        android:name="${applicationName}"
        android:usesCleartextTraffic="true"
        android:theme="@style/LaunchTheme" // ✅ 전체 애플리케이션에 적용하세요
        android:icon="@mipmap/ic_launcher">

iOS #

Podfile 설정 #

BUILD_LIBRARY_FOR_DISTRIBUTION 설정을 post_install do |installer|에 적용하고, 값을 YES로 설정해야 합니다. 이 설정이 올바르게 되어 있지 않으면 iOS 앱이 시작할 때 크래시가 발생합니다

 target.build_configurations.each do |config|
    config.build_settings['BUILD_LIBRARY_FOR_DISTRIBUTION'] = 'YES'
  end

Info.plist 설정 #

이는 Apple의 앱 추적 투명성(ATT) 정책에 의해 요구됩니다. NSUserTrackingUsageDescription 키는 사용자의 활동이 개인 맞춤 광고를 위해 추적된다는 것을 사용자에게 알립니다. 이 설명이 없으면 앱은 추적 데이터를 액세스할 수 없으며, 정상적으로 작동하지 않을 수 있습니다


<key>NSUserTrackingUsageDescription</key>
<string>개인 맞춤 광고를 제공하기 위해 귀하의 활동을 추적하려고 합니다. 이를 허용하시겠습니까?</string>

http 통신 예외처리 #

이 코드는 iOS의 App Transport Security (ATS) 설정을 수정하여, 특정 도메인(greenp.kr)에 대해 HTTP 통신을 허용하는 예외처리입니다. 기본적으로 ATS는 HTTPS만 허용하지만, 이 설정을 통해 HTTP 연결을 허용할 수 있습니다. 보안상 주의가 필요하며, 특정 도메인에만 예외를 적용합니다.

<key>NSAppTransportSecurity</key>
<dict>
	<key>NSAllowsArbitraryLoads</key>
	<true/>
	<key>NSExceptionDomains</key>
	<dict>
		<key>greenp.kr</key>
		<dict/>
	</dict>
</dict>

Plugin 사용방법 #

Plugin 사용 방법 #


import 'package:greenp_plugin/greenp_plugin.dart

GreenpSdkManager greenpSdkManager = GreenpSdkManager();

  • import 'package:greenp_plugin/greenp_plugin.dart'; 이 코드는 플러그인을 임포트하는 줄입니다.
  • GreenpSdkManager greenpSdkManager = GreenpSdkManager(); 를 초기화하여 SDK를 설정합니다

Plugin 초기화 방법 #

  • greenpSdkManager.initGreenpSDK Plugin 초기화 함수 실행합니다

greenpSdkManager.initGreenpSDK(
      appCode: Platform.isIOS ? "iOS 앱 코드 아이디" : "Android 앱 코드 아이디,
      userId: "사용자 아이디,
      onFailed: (error) {
        print("Initialize Error $error");
      },
    );

greenpSdkManager.initGreenpSDK 함수 필수 값 #

  • appCode Greenp 앱 코드입니다
  • userId 사용자 아이디 값입니다
  • onFailed는 플러그인 초기화 실패 시 실행되는 함수입니다. 오류 메시지를 확인하기 위해 값을 반환합니다

오퍼월 이동하기 #


greenpSdkManager.navigateToOfferWall();

  • 플러그인 초기화에 성공하면 오퍼월 페이지로 이동할 수 있습니다. 실패한 경우 이동이 불가능합니다.
  • 오퍼월로 이동되지 않는 경우, 플러그인이 정상적으로 초기화되었는지 확인하는 것이 중요합니다.
  • 오퍼월 이동하는 함수입니다 greenpSdkManager.navigateToOfferWall();

선택적 Google UAD Offer Wall 설정 #

확장 플러그인을 사용하거나 직접 이 방법을 구현할 수 있습니다. 확장 플러그인을 사용하려면 adforus_greenp_plugin과 함께 통합하여 설정을 완료해야 합니다

  • adforus_greenp_extension: ^1.0.0 Extension Plugin

dependecies:
	adforus_greenp_extension: ^1.0.0

Android: Google Admob Offerwall 선택 사용 필수 설정 #

Android: Google Admob Pub 아이디 설정. 이 설정은 Android에서 사용하도록 선택한 경우 필수입니다


<manifest>
    <application>

        <!-- 테세트 AdMob app ID: ca-app-pub-3940256099942544~3347511713 -->

        <meta-data
            android:name="com.google.android.gms.ads.APPLICATION_ID"
            android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/>

    <application>
<manifest>

[Project Script] build.gradle.kts (android/build.gradle.kts) #

확장 플러그인을 사용하지 않는 경우에만 이 단계를 구현하세요 #

setUrl(uri("https://artifact.bytedance.com/repository/pangle/")) 라인은 Greenp Admin 페이지에서 Google AdMob Offerwall을 선택할 때 Pangle SDK를 ByteDance의 저장소에서 가져오기 위해 필요합니다. 이를 통해 올바르게 통합할 수 있습니다.

allprojects {
    repositories {
        google() 
        mavenCentral() 

        maven {
            setUrl(uri("https://artifact.bytedance.com/repository/pangle/"))
        }
    }
}

[Module Script] build.gradle.kts (android/app/build.gradle.kts) #

확장 플러그인을 사용하지 않는 경우에만 이 단계를 구현하세요 #

dependencies {

    implementation("com.adforus.sdk:adsu:1.2.1")

}

Android: pro-guard 설정 #

ProGuard를 사용하는 경우, 다음 ProGuard 규칙을 추가하는 것이 권장됩니다


-keep class com.adforus.sdk.greenp.v3.** { *; }
-dontwarn com.adforus.sdk.greenp.v3.**

-keep class com.adforus.sdk.adsu.** {*;}
-dontwarn com.adforus.sdk.adsu.**

# Retrofit 2.X
## https://square.github.io/retrofit/ ##

-dontwarn retrofit2.**
-keep class retrofit2.** { *; }
-keepattributes Signature
-keepattributes Exceptions

-keepclasseswithmembers class * {
    @retrofit2.http.* <methods>;
}


iOS: Google Admob Offerwall 선택 사용 필수 설정 #

확장 플러그인을 사용하지 않는 경우에만 이 단계를 구현하세요 #

pod 'UAdKit', '1.1.0' Podfile target Runner 필수 추가하기.


target 'Runner' do
  use_frameworks!
  pod 'UAdKit', '1.1.0'

추가로 Pod Install 하기 #

iOS에서 오류와 버그를 방지하기 위해 터미널 명령어를 실행하여 Podfile을 정리하고 다시 설치하는 것이 권장됩니다

pod deintegrate && pod cache clean --all
pod install

iOS: Google Admob Pub 아이디 설정. #

GADApplicationIdentifier 설정은 iOS Info.plist 사용하도록 선택한 경우 필수입니다.

<key>GADApplicationIdentifier</key>  
<string>ca-app-pub-3940256099942544~3347511713</string>  
0
likes
0
points
28
downloads

Publisher

unverified uploader

Weekly Downloads

AdForUs GreenP OfferWall Plugin for Flutter. Supporting both Android and iOS. Refer to our website https://greenp.kr/ for more details on how to join our program and use our SDK Offer Walls

Homepage

License

unknown (license)

Dependencies

flutter, plugin_platform_interface

More

Packages that depend on adforus_greenp_plugin

Packages that implement adforus_greenp_plugin