day12 第三方:Ument-腾讯云

本文详细介绍了Ument SDK的集成步骤,包括依赖添加、权限配置、推送服务注册及统计分享功能实现,并提供了腾讯云SDK集成教程,涵盖依赖、权限设置、推流与拉流代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Ument

SDK集成

官网
https://developer.umeng.com/docs/66632/detail/66639

依赖

//PushSDK必须依赖utdid库,所以需要加入对应依赖
implementation 'com.umeng.umsdk:utdid:1.1.5.3'
//PushSDK
implementation 'com.umeng.umsdk:push:6.0.1'

权限

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />

推送

Applacation

UMConfigure.init(this,"5d63c8f9570df34c64000891"
        ,"umeng",UMConfigure.DEVICE_TYPE_PHONE,"2e2ca7472033c34fdbb5c8ee6574cfe7");//58edcfeb310c93091c000be2 5965ee00734be40b580001a0

//获取消息推送代理示例
        PushAgent mPushAgent = PushAgent.getInstance(this);
//注册推送服务,每次调用register方法都会回调该接口
        mPushAgent.register(new IUmengRegisterCallback() {

            @Override
            public void onSuccess(String deviceToken) {
                //注册成功会返回deviceToken deviceToken是推送消息的唯一标志
                Log.e("tag","注册成功:deviceToken:-------->  " + deviceToken);
            }

            @Override
            public void onFailure(String s, String s1) {
                Log.e("tag","注册失败:-------->  " + "s:" + s + ",s1:" + s1);
            }
        });

代码

PushAgent.getInstance(this).onAppStart();

统计

https://developer.umeng.com/docs/119267/detail/118588

分享

Applacation

   UMConfigure.init(this,"5d63c8f9570df34c64000891"
            ,"umeng",UMConfigure.DEVICE_TYPE_PHONE,"2e2ca7472033c34fdbb5c8ee6574cfe7");//58edcfeb310c93091c000be2 5965ee00734be40b580001a0
PlatformConfig.setWeixin("wxdc1e388c3822c80b", "3baf1193c85774b3fd9d18447d76cab0");
//豆瓣RENREN平台目前只能在服务器端配置
PlatformConfig.setSinaWeibo("3921700954", "04b48b094faeb16683c32669824ebdad","http://sns.whalecloud.com");
PlatformConfig.setYixin("yxc0614e80c9304c11b0391514d09f13bf");
PlatformConfig.setQQZone("100424468", "c7394704798a158208a74ab60104f0ba");
PlatformConfig.setTwitter("3aIN7fuF685MuZ7jtXkQxalyi", "MK6FEYG63eWcpDFgRYw4w9puJhzDl0tyuqWjZ3M7XJuuG7mMbO");
PlatformConfig.setAlipay("2015111700822536");
PlatformConfig.setLaiwang("laiwangd497e70d4", "d497e70d4c3e4efeab1381476bac4c5e");
PlatformConfig.setPinterest("1439206");
PlatformConfig.setKakao("e4f60e065048eb031e235c806b31c70f");
PlatformConfig.setDing("dingoalmlnohc0wggfedpk");
PlatformConfig.setVKontakte("5764965","5My6SNliAaLxEm3Lyd9J");
PlatformConfig.setDropbox("oz8v5apet3arcdy","h7p2pjbzkkxt02a");

代码

UMImage umImage=new UMImage(this,new File("文件名"));

    new ShareAction(MainActivity.this).withMedia(umImage).setDisplayList(SHARE_MEDIA.SINA,SHARE_MEDIA.QQ,SHARE_MEDIA.WEIXIN)
            .setCallback(this).open();
}

@Override
public void onStart(SHARE_MEDIA share_media) {

}

@Override
public void onResult(SHARE_MEDIA share_media) {

}

@Override
public void onError(SHARE_MEDIA share_media, Throwable throwable) {
    Log.e("#########",throwable.getMessage()+"");
}

@Override
public void onCancel(SHARE_MEDIA share_media) {

}

腾讯云

SDK集成

https://cloud.tencent.com/document/product/454/7877

依赖

implementation 'com.tencent.liteavsdk:LiteAVSDK_Smart:latest.release'

权限

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-feature android:name="android.hardware.Camera"/>
<uses-feature android:name="android.hardware.camera.autofocus" />


<application
    android:name=".MyApplacation"
    android:usesCleartextTraffic="true"

推流

Applacation

public class MyApplacation extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        String licenceURL = "http://license.vod2.myqcloud.com/license/v1/d3b6f7c00a7f736b13fde2b0e66fd1e7/TXLiveSDK.licence"; // 获取到的 licence url
        String licenceKey = "08ca1f66b4919b0fe7c7081eec9bca69"; // 获取到的 licence key
        TXLiveBase.getInstance().setLicence(this, licenceURL, licenceKey);
    }
}

代码

TXLivePusher mLivePusher;
Button bt,bt2;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    String[] str=new String[]{Manifest.permission.ACCESS_FINE_LOCATION,Manifest.permission.ACCESS_COARSE_LOCATION};

    if(Build.VERSION.SDK_INT>=23){
        if(ActivityCompat.checkSelfPermission(this,Manifest.permission.ACCESS_FINE_LOCATION)!=PackageManager.PERMISSION_GRANTED){
            requestPermissions(str,101);
        }
    }
    bt=findViewById(R.id.bt);
    bt2=findViewById(R.id.bt2);
    TXLivePushConfig mLivePushConfig  = new TXLivePushConfig();
    mLivePusher = new TXLivePusher(MainActivity.this);
    TXCloudVideoView mPusherView = (TXCloudVideoView) findViewById(R.id.pusher_tx_cloud_view);

    // 一般情况下不需要修改 config 的默认配置
    mLivePusher.setConfig(mLivePushConfig);
    //启动本地摄像头预览
    mLivePusher.startCameraPreview(mPusherView);
    bt.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            String rtmpURL = "rtmp://56674.livepush.myqcloud.com/live/ddd?txSecret=b4f6a96cba73e6df582a5ffe6a266668&txTime=5D6401FF"; //此处填写您的 rtmp 推流地址
            int ret = mLivePusher.startPusher(rtmpURL.trim());
            if (ret == -5) {
                Log.e("tag", "startRTMPPush: license 校验失败");
            }
        }
    });

拉流

代码

  TXCloudVideoView mPusherView2 = (TXCloudVideoView) findViewById(R.id.pusher_tx_cloud_view2);
//创建 player 对象
        final TXLivePlayer mLivePlayer = new TXLivePlayer(this);

//关键 player 对象与界面 view
        mLivePlayer.setPlayerView(mPusherView2);
        bt2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String flvUrl = "https://56674.liveplay.myqcloud.com/live/ddd.flv";
                mLivePlayer.startPlay(flvUrl, TXLivePlayer.PLAY_TYPE_LIVE_FLV); //推荐 FLV
            }
        });
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值