关于unix:MobPush-Android-For-Unity

集成筹备注册账号应用MobSDK之前,须要先在MobTech官网注册开发者账号,并获取MobTech提供的AppKey和AppSecret,详情能够点击查看注册流程 下载MobPush对应的.unitypackage包关上 Github 下载 MobPush-For-Unity 我的项目,下载实现后间接双击或者在Unity外面抉择关上 MobPush.unitypackage,导入相干资源和脚本到您的 Unity我的项目即可应用。 集成注:MobPush For Unity我的项目对应的Android插件局部,应用的是gradle编译形式,因为gradle编译形式在Unity2017及以上版本能力很好地反对并且兼容,强烈建议宽广开发者应用Unity2017及以上的版本进行开发,Unity2017以下版本集成略微麻烦一丢丢;所以集成外围局部分成:(1)新版Unity集成形式(Unity2017及以上的版本)(2)旧版Unity集成形式注意事项(应用Unity2017版本以下开发的必看) Unity集成形式(倡议)要害文件:mainTemplate.gradle和proguard-user.txt1、Unity2017及以上版本,在Build Settings > Player Settings上面,有两个开关,新建我的项目的话关上这两个开关就能够在Plugins>Android生成对应的两个文件;因为这两个文件MobPush都有间接提供,只需导入.unitypackage就好,Unity检测到曾经存在这两个文件,主动会更新为勾选状态;2、Build的时候有一个Build System选项,此选项默认抉择的Internal,切记要改成抉择外面的gradle选项(重要)3、图中所示的mainTemplate.gradle文件,即为集成的外围文件,应用编辑器关上此文件,要点内容如下:此处为辨别Unity5.6和Unity2017 gradle插件版本的中央,开发时用到哪个版本就应用哪个,若应用到其余Unity版本,请随便抉择一个,而后build,编译的时候会报错的,Console控制台信息报错时会提醒插件版本是多少,依据提醒批改成须要的版本就好(只批改前面的数字,比方:2.3.0或者2.1.0) buildscript { repositories { // 配置Mob Maven库 maven { url "https://mvn.mob.com/android" } // 配置HMS Core SDK的Maven仓地址。(集成华为厂商须要增加) maven { url 'https://developer.huawei.com/repo/'} } ... } dependencies { classpath 'com.android.tools.build:gradle:2.3.0'//Unity2017 //classpath 'com.android.tools.build:gradle:2.1.0'//Unity5.6 // 注册MobSDK classpath "com.mob.sdk:MobSDK:2018.0319.1724" }}此处为集成MobPush须要配置的信息 // 增加插件apply plugin: 'com.mob.sdk'// 在MobSDK的扩大中注册MobPush的相干信息MobSDK {appKey "替换为MobTech官网申请的appkey"appSecret "替换为MobTech官网申请的appkey对应的appSecret"MobPush { //集成其余推送通道(可选) devInfo { //华为推送配置信息 HUAWEI{ appId "华为的appid" } //魅族推送配置信息 MEIZU{ appId "魅族的appid" appKey "魅族的appkey" } //小米推送配置信息 XIAOMI{ appId "小米的appid" appKey "小米的appkey" } //FCM推送通道配置 FCM{ //设置默认推送告诉显示图标 iconRes "@mipmap/ic_launcher" } }}此处为配置签名文件和签名文件的别名和明码(正式公布apk须要的签名文件),能够写绝对路径,也能够写相对路径,相对路径应用”..\”跳出一层目录,跳出多层则间断拼接 ...

October 10, 2022 · 2 min · jiezi

关于unix:SIGTTINSIGTTOU-信号

SIGTTIN: 当一个后盾过程组试图读取其管制终端时,终端驱动程序产生此信号。在下列例外情况不产生次信号: a、读过程疏忽或者梗塞此信号 b、读过程所属的过程组是孤儿过程组,此时读操作返回出错,errno设置未EIO。 SIGTTOU: 当一个后盾过程组试图写其管制终端时,终端驱动程序产生此信号。与SIGTTIN信号不同,一个过程能够算着容许后盾过程写管制终端。 如果不容许写管制终端,则与SIGTTIN类似,也有两种非凡状况: a、写过程疏忽或者梗塞此信号 b:写过程所属的过程组是孤儿过程组,此时读操作返回出错,errno设置未EIO。 SIGTTIN 和 SIGTTOU 信号的默认动作是暂停过程。 下图代码,过程启动,fork 出子过程,子过程设置过程组,调用tcsetpgrp 将本人设置为前端过程组,父过程就变成了后端过程组。在read的时候,暂停。 #include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <signal.h>#include <sys/wait.h>//打印过程信息void pr_process(char * name){ printf("%s pid:%d,ppid:%d,pgid:%d,sid:%d,grrp:%d\n",name,getpid(),getppid(),getpgid(getpid()),getsid(getpid()),tcgetpgrp(STDIN_FILENO));}void handler(int sig){ printf("receive %d sig\n",sig);}int main(int argc,char *argv[]){ pid_t pid ; pid_t fpgid = tcgetpgrp(STDIN_FILENO); if((pid = fork()) < 0){ perror("fork error"); exit(1); } if(pid == 0){ signal(SIGTTOU,SIG_IGN); setpgid(getpid(),getpid()); pr_process("child before set:"); if(tcsetpgrp(STDIN_FILENO,getpid()) == -1){ printf("set error\n"); exit(2); } pr_process("child after set"); exit(1); } pr_process("parent1"); waitpid(pid,NULL,0); pr_process("parent2"); char buf[100];// signal(SIGTTIN,handler); if(read(STDIN_FILENO,buf,100) < 0){ perror("read error"); printf("error\n"); exit(127); } printf("sucess\n"); return 0;}

August 18, 2022 · 1 min · jiezi

关于unix:UnixLike终端命令强化之路

这篇文章针对的是Unix-Like平台,也就是Linux和Mac 常见命令优化ll命令形容除了Ubuntu,其余的都没有这个命令。ll命令是通过 ls -al实现的,然而这个命令有毛病:高亮不够难看、信息能够更具体exa命令能够优化 装置形式先装置rust,而后通过cargo装置 配置批改shell的配置文件,增加如下内容: alias ll="exa -lahiSgH"cat命令形容自带的cat命令只是简略的显示文件内容,没有针对代码的高亮显示 装置形式通过pip装置 pip3 install Pygments配置alias cat="pygmentize -P style=perldoc -P tabsize=4 -f terminal256 -g "注:不要遗记最初的空格能够应用fruity配色 成果展现windows 彩色背景成果 参考文章https://help.farbox.com/pygme... 常见软件优化vim形容mac下的vim默认没有开启高亮,这给文本的浏览制作的艰难 配置编辑.vimrc文件 vim ~/.vimrc增加 syntax on

May 22, 2021 · 1 min · jiezi