<?php
/**
 * APP推送类
 */
include_once 'lib/aliyun-openapi-php-sdk/aliyun-php-sdk-core/Config.php';
include 'lib/aliyun-openapi-php-sdk/aliyun-php-sdk-push/Push/Request/V20160801/PushMessageToAndroidRequest.php';
use \Push\Request\V20160801 as Push;
class OthAppPush
{

	private $accessKeyId = "LTAIlsNeXzn3cdyG";//
    private $accessKeySecret = "qbvLtlLkF1lNrTfsO4akk9kAPaxAbv";
	private $appKey = "25103213";
	private $iClientProfile;

	function __construct($accessKeyId='',$accessKeySecret='',$appKey='')
	{
		if(!empty($accessKeyId))
		{
			$this->accessKeyId=$accessKeyId;
		}
		if(!empty($accessKeySecret))
		{
			$this->accessKeySecret=$accessKeySecret;
		}
		if(!empty($appKey))
		{
			$this->appKey=$appKey;
		}
		$this->iClientProfile = DefaultProfile::getProfile("cn-hangzhou", $this->accessKeyId, $this->accessKeySecret);
	}
	/**
	 * @method    推送消息给安卓客户端
	 * @param     [str]               $title   [标题]
	 * @param     [str]               $content [消息内容]
	 * @author 卢
	 * @copyright 2018-10-10
	 */
	function pushMessageToAndroid($title,$content)
	{
		$iClientProfile = $this->iClientProfile;
		$client = new DefaultAcsClient($iClientProfile);
		$request = new Push\PushMessageToAndroidRequest();
		$request->setAppKey($this->appKey);
		$request->setTarget("ALL"); //推送目标: DEVICE:按设备推送 ALIAS : 按别名推送 ACCOUNT:按帐号推送  TAG:按标签推送; ALL: 广播推送
		$request->setTargetValue("ALL"); //根据Target来设定，如Target=DEVICE, 则对应的值为 设备id1,设备id2. 多个值使用逗号分隔.(帐号与设备有一次最多100个的限制)
		$request->setTitle($title);
		$request->setBody($content);
		$response = $client->getAcsResponse($request);
		return $response;
	}
	/**
	 * @method    推送通知给安卓客户端
	 * @param     [str]              $title     [标题]
	 * @param     [str]              $content   [内容]
	 * @param     arr               $extParams [自定义的KV结构，供开发者扩展使用，针对Android设备。]
	 * @author 卢
	 * @copyright 2018-10-10
	 */
	function pushNoticeToAndroid($title,$content,$extParams=[])
	{
		$iClientProfile = $this->iClientProfile;
		$client = new DefaultAcsClient($iClientProfile);
		$request = new Push\PushNoticeToAndroidRequest();
		$request->setAppKey($this->appKey);
		$request->setTarget("ALL"); //推送目标: DEVICE:按设备推送 ALIAS : 按别名推送 ACCOUNT:按帐号推送  TAG:按标签推送; ALL: 广播推送
		$request->setTargetValue("ALL"); //根据Target来设定，如Target=DEVICE, 则对应的值为 设备id1,设备id2. 多个值使用逗号分隔.(帐号与设备有一次最多100个的限制)
		$request->setTitle($title);
		$request->setBody($content);
		if(!empty($extParams))
		{
			$extParamsArr=json_encode($extParams);
			$request->setExtParameters($extParamsArr);
		}
		$response = $client->getAcsResponse($request);
		return $response;
	}
}