为了避免项目上架之后被爬包或者出现盗版马甲包,但我们这又很难快速申诉成功的情况,游戏开发过程中可以再在代码层/美术资源/APP 前端打上 Sofish 的标识,以便后续出现比较棘手的情况有利于申诉的顺畅进行。
- 代码层面:需要研发在代码里面加入一些特殊的标记,需要研发这边考量如何添加。
- 美术层面:在某些角色或者其他地方,加入 SOFISH 的 LOGO,在放大多少倍的时候可以看清楚。
- APP 前端:在 APP 某个特定的地方,特定操作(比如:连续点击 5 次)可以弹出版权所属。
相关方案信息案例如下:{游戏名} is exclusively operated and distributed by SOFISH TECHNOLOGY PTE. LTD. worldwide, any infringement will be subject to severe punishments.
版权相关的文案和图片资源最好加密存储,下面是一种常见的实现方式(Java 示例):
private static final String COPYRIGHT = "HLr+FPfNoU9bysAJqRvlDr+76UpJn5xCsfLeIGDFUt81Wm6xY0EjqmxvUJEHf9yhA/a3lRuUr9BZC6Zt0hfY/Eg+ZiBrmPoZcWZeJU3nCZHuBSy29+tEWl4alkUj+roYRUutePjQ5p2IDTkCWPPT5FxjhMAOg42iLhybI4tFryKc97YmNVr82DfU4k58TacGp66Wj/aRgNvji0S5gAFz1g==";
private static final String SOFISH_LOGO = "data:image/png;base64,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";
private void showCopyright() {
try {
// 解密版权信息
String copyright = AES.decrypt(aesKey, aesIv, COPYRIGHT);
String content = String.format(copyright, getString(R.string.app_name));
// 将字符串转换为Bitmap
String captcha = SOFISH_LOGO.replaceFirst(CAPTCHA_PATTERN, "");
byte[] bytes = Base64.decode(captcha, Base64.DEFAULT);
Bitmap bitmap = BitmapFactory.decodeByteArray(bytes, 0, bytes.length);
SpannableString spannable = new SpannableString(content);
spannable.setSpan(new ImageSpan(this, bitmap), 0, 2, Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
new AlertDialog.Builder(this)
.setTitle(getString(R.string.button_copyright))
.setMessage(spannable)
.create()
.show();
} catch (Exception e) {
e.printStackTrace();
}
}