私は現在開発中で、次の質問に行き着きました:ロックされていないアイテムやレベルなどの基本的な情報をデバイス間でどのように保存できますか? もちろん、それらを設定ファイルに保存します。
しかし、ユーザーが新しい電話を購入し、そこで引き続きプレイしたい場合はどうなるでしょうか? (共有-) 設定は複製されません。
したがって、この問題を解決するための (Google からの) 推奨される方法 (クラウド?) はありますか?
私は現在開発中で、次の質問に行き着きました:ロックされていないアイテムやレベルなどの基本的な情報をデバイス間でどのように保存できますか? もちろん、それらを設定ファイルに保存します。
しかし、ユーザーが新しい電話を購入し、そこで引き続きプレイしたい場合はどうなるでしょうか? (共有-) 設定は複製されません。
したがって、この問題を解決するための (Google からの) 推奨される方法 (クラウド?) はありますか?
最善の方法は、登録ユーザーごとに最新情報で定期的に更新されるオンライン データベースを維持することだと思います。したがって、すべてをローカルに保存する代わりに、リモート サーバーに保存し、必要に応じてユーザーに送信することができます。ユーザーがアプリケーション用に自分で作成したアカウントを所有している限り、データが失われることはありません。
私は専門家ではありませんが、オンラインの SQL データベースを使用してこれを行っています。デバイスを接続して、必要なデータを保存/ロードします。これはファイルでは機能せず、テキストベースの情報のみで機能することはわかっています。これも Flash を使用して行います。これがあなたのルートであれば、いくつかのコードを共有できます。
フラッシュでこれを行う場合は、フラッシュ (当たり前)、PHP ファイル、および SQL サーバー (MYSQL サーバーがあります) の 3 つが必要です。
どのように動作するかというと、フラッシュが php をロードし、php がそれを行い (データベースに変更を加えるなど)、その結果をフラッシュに吐き出します。
データベースからすべてのユーザー名を取得したいとしましょう。
データベース
テーブル名は「Players」と呼ばれ、「u_id」という単一の列があります
閃光
var loader:URLLoader; //makes a loader that will "load" the php page
public function DoIt()
{
loader = new URLLoader();
loader.addEventListener(Event.COMPLETE, loaderComplete);
loader.load(new URLRequest("http://yourDomain.com/thePHPFile.php?arg=42"));
}
public function loaderComplete(e:Event):void
{
var returnXML:XML; //we are assuming the return values are in xml format, trust me, this might be easier
for each (var ListItem:XML in returnXML..Users) //you might need to change this "users" to be the root of the xml file
{
var userName:String = ListItem.u_id.toString();
//you can do what you want with the data here
}
}
PHP
今は必要ないかもしれませんが、ホスト名として "localhost" を実行できるように、PHP ファイルと DB が同じホスト上にあることを確認しようとしています
<?php
$argumentVar = $_GET["arg"]; //not using this, just showing it's possible
$connect = mysql_connect("localhost", "db_username", "db_password");
if(!$connect)
{
die("error connecting to DB" . mysql_error());
}
$db_selected = mysql_select_db("the_name_of_the_db", $connect);
if(!$db_selected)
{
die("error selecting db" . mysql_error());
}
$table_name = "Players" //this is the name of your database
$sql = "SELECT * FROM $table_name;"; //not sure if you need ending ';'
$dbresult = mysql_query($sql, $connect); //this is where all your data comes into
//and now to save all the information to a xml file
$doc = new DOMDocument('1.0');
$root = $doc->createElement('root');
$root = $doc->appendChild($root);
while($row = mysql_fetch_assoc($dbresult))
{
$occ = $doc->createElement($table_name);
$occ = $root->appendChild($occ);
foreach ($row as $fieldname => $fieldvalue)
{
$child = $doc->createElement($fieldname);
$child = $occ->appendChild($child);
$value = $doc->createTextNode($fieldvalue);
$value = $child->appendChild($value);
}
}
$xml_string = $doc->saveXML();
echo $xml_string;
?>
わかりました、それで遊んでください。正しい道を歩み始めるはずです。