Androidはオープンスクリーン広告を実現(広点通SDK)


一、テンセントの広告アカウントを登録する
テンセント広告連盟のアカウントを登録する:http://e.qq.com/dev/index.html
二、新しい広告スペース
広告ビットを新規作成し、SDKをダウンロードし、自分の広告ビットIDとアプリケーションIDを記憶します.
三、SDKへのアクセス
1、SDKを解凍し、jarファイルをlibsディレクトリにコピーし、syncボタン(as上部ツールバー)をクリックする.AndroidManifest.xmlで権限を宣言します.
    
    
    
    
    
    
    
    
2、ラベルに次の項目を追加します.






3、新規SplashActivity、レイアウトファイルactivity_splash.xml、コードは以下の通りです.



4、SplashActivityコードは以下の通りです.
public class SplashActivity extends AppCompatActivity {

    private RelativeLayout container;
    private boolean canJump;

    @SuppressLint("WrongViewCast")
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_splash1);
        container = (RelativeLayout) findViewById(R.id.container);
        //       
        List permissionList = new ArrayList<>();
        if (ContextCompat.checkSelfPermission(this,
                Manifest.permission.READ_PHONE_STATE) != PackageManager.PERMISSION_GRANTED){
                permissionList.add(Manifest.permission.READ_PHONE_STATE);
        }
        if (ContextCompat.checkSelfPermission(this,
                Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED){
            permissionList.add(Manifest.permission.ACCESS_COARSE_LOCATION);
        }
        if (ContextCompat.checkSelfPermission(this,
                Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED){
            permissionList.add(Manifest.permission.WRITE_EXTERNAL_STORAGE);
        }
        if (!permissionList.isEmpty()){
            String [] permissions = permissionList.toArray(new String[permissionList.size()]);
            ActivityCompat.requestPermissions(this,permissions,1);
        }else{
            requestAds();
        }

    }

    /*
    *
    *       
    * */
    private void requestAds() {
        String appId="1106336831";
        String adId = "5020929588094641";
        new SplashAD(this, container, appId, adId, new SplashADListener() {
            @Override
            public void onADDismissed() {
                //      
                forward();
            }

            @Override
            public void onNoAD(AdError adError) {
                //      
                forward();
            }

            @Override
            public void onADPresent() {
                //      
            }

            @Override
            public void onADClicked() {
                //     
            }

            @Override
            public void onADTick(long l) {

            }
        });
    }

    @Override
    protected void onPause() {
        super.onPause();
        canJump = false;
    }

    @Override
    protected void onResume() {
        super.onResume();
        if(canJump) {
            forward();
        }
        canJump = true;
    }

    private void forward() {
        if (canJump){
            //   MainActivity
            Intent intent = new Intent(this,MainActivity.class);
            startActivity(intent);
            finish();
        }else {
            canJump = true;
        }
    }

    @Override
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
        switch (requestCode){
            case 1:
                if (grantResults.length>0){
                    for(int result:grantResults){
                        if (result != PackageManager.PERMISSION_GRANTED){
                            Toast.makeText(this,"               ",
                                    Toast.LENGTH_SHORT).show();
                            finish();
                            return;
                        }
                    }
                    requestAds();
                }else {
                    Toast.makeText(this,"      ",Toast.LENGTH_SHORT).show();
                    finish();
                }
                break;
            default:
        }
    }
}
5、最後にメインイベントをSplashActivityに設定し、AndroidManifestのactivityの.MainActivityを.SplashActivityに変更します.