結果だけでなく過程も見てください

たい焼きさんの日々の奮闘を綴る日記です。

ドラゴンクエストウォーク(DQW)の情報メモ

ドラゴンクエストウォークを始めました。
個人的に疑問に思ったことをどんどんメモしていきたいと思います(情報が分散してわかりづらいので…)

モンスターについて

モンスターの頭に出るビックリマークの数

モンスターの総合戦力を表しており、ビックリマークの数が多いほど強敵ということになります。

これは相対的な戦力を表しており、例えば全員LV30のパーティならビックリマーク1つの場合でも、転職してLV1のキャラクターがいるとビックリマークの数が3つになったりします。

キラキラ光っているモンスターは何?

倒すと宝箱を確定?で落とします。

「かくてい」とふきだしがあるモンスターは何?

倒すと確定で「こころ」を落とします。

丸いマークのふきだしがあるモンスターは何?

倒すと高確率で「こころ」を落とします。

範囲外に出現したモンスターと戦いたい

タップするとこちらに寄ってきてくれます

モンスターの強さはどうやって決まる?図鑑を埋めるときなど、弱いモンスターと戦いたいのだが。

現在進行中のクエストに依存するようです。
ですのでクリア済の昔のクエストを開始すれば、弱い敵と戦うことができます。

※つまりいつでも弱い(昔の)モンスターと戦うことはできるので、こころの所持上限などに到達してしまった方はばんばん弱いものから処分していって問題ないと思われます。

メガモンスターは離れていても戦える?

戦えません。
離れていると「近くへ移動してください」的なメッセージが出て、戦闘から離脱するか、近づいて再開するまで戦うことができなくなります。

戦闘から離脱すると、手形は無くなりますので注意してください。

ウォークモード

範囲内に敵がいるのに戦ってくれない
  • 移動していないと自動で戦ってくれません
  • 瀕死やピンチの状態だと戦ってくれません
範囲内に複数の敵や回復スポットがある場合の優先順位

優先順はないようです。つまりランダムということになります。
ちなみにウォークモード中でも目標物に対するタップは有効なので、優先的に回復スポットに触りたい等の場合はタップを活用すると良いでしょう。

HP・MPの回復手段

  • 回復スポット(同じ箇所は30分程度に1回)
  • 自宅で休む (1時間に1回)
  • 各クエストの初回クリア時 (クリア済のクエストをもう一度クリアしても、回復しないようです)
  • レベルアップ時
  • ドラクエウォークを一定時間操作しない
  • 回復アイテム・呪文

ドラクエウォークを一定時間触らない項目は、アプリの終了はもちろん、フィールド画面から離れていれば有効かもしれません。メニュー画面で放置して、フィールド画面に戻った時に回復したことがあります。

全滅のペナルティ

特にありません。その場で全員HP1で復活します。

フレンドになるとどんな良いことがあるの?フレンドになる意味は?

今のところフレンドの恩恵はほとんどありません。
自宅の位置の公開範囲をフレンド事に設定できるくらいですかねぇ。(それもバグ?のせいか正確に反映されていない気がします…)

フレンドごとに自宅の公開範囲を変えるには?

メニュー→その他・設定→設定→プライバシー→フレンドごとに設定
(※2019/09/16現在、ちゃんと反映されていない気がします…)

ゴールドパスを買ったら、スタンダードパスから勝手に切り替わるの?

いいえ。ゴールドパスに切り替わるのではなく、ゴールドパスとスタンダードパス同時にマイルが入るようになるようです。

スタンダードパスを使い切ってからゴールドパスを買う…とかそういう面倒なことは考えなくて良さそう。

ドラクエウォークアプリを起動していなくても歩数カウントさせたい場合は?

ゲーム内の設定が必要です。
またiOSの場合、OSの設定も必要です。(Androidの場合不要…?)
バッテリー消費量が上がるかもしれません。ご注意を。

ゲーム内の設定

メニュー→その他・設定→設定→システム→いつでも歩数カウントを「ON」にします

iOSの場合は、OSの設定も必要!

「設定」アプリ→プライバシー→位置情報サービス→DQウォーク→常に許可

こころの色の意味

装備する色をそろえるとステータスにボーナスが付く。
こころは3か所装備する部分があり、上はどんな色でもよい。左と右は職業によって色が変わる。

戦士 黄色
僧侶
武闘家
魔法使い
盗賊

キャラクターの名前はどこから変えられる?

じゅんび→名前を変えたいキャラクターの顔をタップする→左上あたりにある、現在のキャラクター名表示の隣にある羽ペンアイコンをタップ

各スポットの復活時間

自宅で休める間隔 1時間
回復スポット たぶん30分程度
他人の家のアイテム 未調査

経験値(EXP)テーブル

わかったところから記載します。それぞれだいたいの数値ですよ~。

このLVになるまで 必要な経験値
1から11まで 6,000
12 2,600
13 3,600
14 4,900
15 6,400
16 8,400
17 10,600
18 13,700
19 16,700
20 19,700
21
22
23
24
25
26
27
28 61,800
29 69,822
30 78,459
31 88,198
32 98,738
33 110,123
34 122,000

ログインボーナスなどのリセット時間は?

夜中の午前3:00です。

サブキャラを転職させてレベル上げする方法(参考)

これはまだ始めたばかりなので変わるかもしれませんが…。
当方LV26で、戦士・武闘家が全体攻撃持ちの場合です。

  1. サブキャラ二人を好きな職業に転職させる
  2. 3章1話を開始する。目的地は設定しなくてもいい。
  3. モンスターは戦士・武闘家の全体攻撃で倒す

自分はこれでのんびりやってます。回復要員がいませんがまぁなんとかなってます。
MPが切れがちなので自宅で休んだり、回復スポット触ったり、アイテムを使ってください。
参考になれば。

要望メモ

個人的に要望が出せれば出そうと思っていることをメモしておきます。

  • モンスター図鑑の報酬で、いちいちモンスターを選ばせるのはやめてほしい。けっこうストレスです。
  • ほぼまんたん(ドラクエ11であったやつ)がほしい

ノートンアンチウィルス(Norton Antivirus)でスケジュール実行されたスキャンのキャンセル方法

マニュアル読んだけどわかりませんでしたーッ!ということで備忘録としてメモしておきます。
ノートン アンチウィルスのバージョンは22.18.0.213です。

バージョンはメインウィンドウ→[ヘルプ]→[バージョン情報]から確認できます。

キャンセル手順

  1. ノートンアンチウィルスのメインウィンドウから[セキュリティ]→[スキャン]を選びます
  2. [スキャンとタスク]の項目から[カスタムスキャン]ラジオボタンを選択し、[実行する]ボタンを押します
  3. スキャンウィンドウで実行中のスキャン名(例:システムの完全スキャン)の横にある「X」チェックマークを外します。
  4. チェックを外した行の[実行する]ボタンを押すと、スキャンが開始するのですぐにキャンセルします

現在進行中のスキャンを確認するのにスキャンを実行しなきゃいけないなんて気づかないよッ!
あれやこれやと探して無駄な時間を過ごしてしまいました。。。

Minecraft(マインクラフト)のクリエイティブモードで建築を始める前に、最低限覚えておいた方がいい知識

いまさらですがSwitch版のマイクラをちょこちょこ触ってます。
先日クリエイティブモードを遊んでみましたが、色々と前提知識がなく四苦八苦したので、
最低限まぁこれは知っといたほうがいいか、と思った知識をメモしておきます。個人的な備忘録です

エディションの整理

エディション 2019/8/13時点での最新バージョン 説明
Java 1.14.4 PC版。一番何でもできるエディションで、Modは使用可だが、クロスプラットフォームでのマルチプレイ不可
統合版(BE(Bedrock)版) 1.12.0 PC版(こちらはWindows 10版という名前がついている)、XBox One版、Switch版、スマホタブレット版はすべてこれ。一部は昔ポケットエディション(PE版)という名前だった。Mod不可だがクロスプラットフォームでプレイ可能
PS4 1.90 BE版が先にアップデートされてから、後を追ってアップデートされるサイクルになっている。クロスプラットフォームでのプレイ不可
XBox 360番・Wii U版・PS3版・PS Vita版 ? PS4版と同じアップデート方式。ただ現在はアップデート終了している?クロスプラットフォームでのプレイ不可

※PCでプレイできるマイクラには、Java版とWindows 10版の二種類があります。

まぁ普通に考えて、Java版か統合版(BE版)のどちらかを選ぶことになると思います!
マルチプラットフォームで遊ぶなら統合版(BE版)一択かと思います。

前提とか注意点

  • 当方SwitchなのでBE版を使用しています。2019/8/13現在、バージョンは1.12.0でした。
  • fillコマンドやsetblockコマンドはやり直し(Ctrl+zのような機能)がない。つまり一度fillコマンドでブロックが配置されてしまったら、上書きした既存のブロック等は元に戻せないので注意が必要。

用語

用語 意味
コマンドブロック 起動すると、任意のコマンドを実行することができるブロック。giveコマンドでアイテム名を「command_block」とすることで入手可。(コマンド実行例:/give @s command_block 2)
NBT Named Binary Tagの略。コマンドブロック等は任意のコマンドを設定できるが、これを記憶しておく領域というかフォーマットがNBTである。中身は拡張されたXML?マイクラオリジナルのフォーマットらしい。

細かい知識

  • 座標系は右手座標系であり、相対座標によるコマンドを使用する場合は向きを気にする必要があるかもしれない?
  • fillコマンド等で同時に処理できるブロック数は32,768個(2^15)である

Java版で出来て、BE版で出来ないこと

  • giveコマンドで、Java版のNBTは使用できない→コマンドブロック生成時にBlockEntityTagを指定できない→コマンドブロックの配置でまとめて複数のブロックを配置したりできない

設定

  • 「座標を表示」をONにしましょう
  • 「チートの実行」をONにしましょう
  • 「コマンドブロックが有効」をONにしましょう
  • 純粋に建築だけが目的なら「常に昼間」「モブの出現」「モブによる妨害」をOFFにしましょう
  • マルチプレイで全員にコマンドを実行できる権限を持たせるなら、「招待から参加した場合のプレイヤー権限」を「オペレーター」にしましょう

飛行(浮遊)モード

ジャンプボタン(Switch版ならAボタン)を素早く二回押すことで、飛行モードと通常モードが交互に切り替わる。空中で通常モードに切り替えると落下するので注意。

飛行モード中は、ジャンプボタンで上(+y方向)へ移動し、しゃがみボタン(Switch版ならBボタン)で下(-y方向)へ移動する。

整地方法

何はともあれまずはコレ。ここから整地したいな~と思った座標を決めます。
ここでは例として(10, 10, 20)に決め、100x100を同じブロックで整地します。(座標は(x座標, y座標, z座標)と記載しています)

/fill 10 10 20 110 10 120 concrete
/fill 10 11 20 110 13 120 air
/fill 10 14 20 110 16 120 air
/fill 10 17 20 110 19 120 air

2行目以降は、整地した範囲の上(+y座標方向、空の方向)のブロックを排除するために実行してます。
必要に応じて実行してください。fillコマンドで同時に処理できるブロック数が32,768個のため複数回実行してます。

ぼやき

  • こりゃキーボード必須ですね…。なんとSwitch版はbluetoothキーボードが使用できないという…クソクソクソ(>_<)
  • イクラ、遊んでいて大変面白いのですが、普段からプログラムを組んでいると、直感的にやりたいことができなくてかなりストレスが溜まりますね〜。純粋に強化版レゴのソフトウェア版!と割り切った方がよさそうです。

RPGツクールMVで効果音(SE)が鳴っているかどうかの判定および特定の効果音だけを停止する方法 他

RPGツクールMVいじり二日目です。昨日の記事の続きです。
結論から言うと、効果音(SE)が鳴っているかどうかの判定はできませんでしたが、
やりたいこと(効果音を多重で再生せずループさせる)はできました。

RPGツクールMVの内情はちんぷんかんぷんなので、誤りや慣習などはご教示いただければと思います。

効果音(SE)が鳴っているかどうかの判定

冒頭でも言った通り、うまく動作しなかったのですが、経緯だけご紹介します。

まずrpg_managers.jsのファイルの先頭あたりに以下の一文を追加しておきます。

const path = require('path');

rpg_managers.jsに以下のメソッドを追加します。

AudioManager.isSEPlaying = function(sename) {
  if (sename)
  {
    var seBuffers = this._seBuffers.filter( 
                        function(audio)
                        {
                            var audioname = path.basename(audio.url, path.extname(audio.url));
                            return ((audioname === sename) && audio.isPlaying())
                        });

    return (seBuffers.length != 0)
  }
  else
  {
    return false
  }
};

そのまんまなのですが、SE名が一致し、かつ再生中のエントリを
管理配列であるthis._seBuffersから検索して取得しています。
1つでも見つかれば再生中、そうでなければ停止中と判定しています。

あまりわかっていませんが実機検証の結果、効果音(SE)再生直後などは、実際には再生が開始されていてもこの結果がfalseになることがあるみたいで、再生し始めのときに不当にfalseが数回返る→数回分は効果音が被って再生されてしまう…という結果になってしまいました。これを回避する方法は、サウンドバッファのシーク位置とかを見ればいけそうな気がしますがめんどくさくて見つからなかったということにしてます。それよりも、後述する方法を使えばもっとシンプルにやりたいことが実現できそうでした。

効果音(SE)を二重以上で被らずに再生させる方法

単純に、WebAudioオブジェクトのplay系関数の変数にtrueを渡すだけでうまくいきそうな気がしました。

rpg_managers.jsに以下の内容を追加します。

AudioManager.playSeLoop = function(se) {
    if (se.name) {
        this._seBuffers = this._seBuffers.filter(function(audio) {
            return audio.isPlaying();
        });
        var buffer = this.createBuffer('se', se.name);
        this.updateSeParameters(buffer, se);
        buffer.play(true);
        this._seBuffers.push(buffer);
    }
};

なんてことはない。通常のplaySeと比べplayに渡す引数をfalse→trueと変更しているだけです。
これにより効果音の被りを気にする必要はなくなりました。

または、コアスクリプトの関数を書き換えてもいいのであれば、以下のようにplaySeメソッドの
第二引数でループするかどうかを指定できるようにし、
引数なし(つまり既存でコールされている部分)についてはデフォルト引数で
必ずループさせない(既存と同じ動作)ようにさせても良いです。
個人的にはこちらの方法を推奨します。似たような関数を2つ作成したくはないので。

// 既存のplaySeメソッドに第二引数を追加
AudioManager.playSe = function(se, bLoop=false) {
    if (se.name) {
        this._seBuffers = this._seBuffers.filter(function(audio) {
            return audio.isPlaying();
        });
        var buffer = this.createBuffer('se', se.name);
        this.updateSeParameters(buffer, se);
        buffer.play(bLoop);
        this._seBuffers.push(buffer);
    }
};

もともとやりたいことはSE再生中は、再度同じSEを鳴らさないということで、それを実現する
ためにSEの再生時間分だけフレームをカウントしていました。
つまりループ再生ができれば上述した課題は自動的に解決され、フレームをカウントする必要がなくなります。
# 勢いで書いたエントリなのでもうちょっと検証しますが。

特定の効果音(SE)だけ停止する方法

先日のエントリだと、プレイヤーが停止したらすべての効果音を停止させる動きをしていましたが、
関係ないSEも止めちゃうってそりゃないでしょということで、足跡の効果音だけを停止させることにします。

rpg_managers.jsに以下の関数を追加します。

AudioManager.stopPlayedSE = function(sename)
{
    if (sename)
    {
        for ( var i = 0; i < this._seBuffers.length; ++i )
        {
            var file = path.basename(this._seBuffers[i].url, path.extname(this._seBuffers[i].url))
            if ( file == sename )
            {
                this._seBuffers[i].stop()       // 止めるべきSEを発見した
                this._seBuffers.splice( i, 1 )  // 止めた要素は削除してしまう
                break
            }
        }
    }
}

filterを使うことなども考えましたが、とりあえず線形検索して最初に見つかった要素を
対象にして効果音の停止および管理配列からの削除をさせることにしました。
どうやらこの配列、再生中の効果音(SE)が入るようで、効果音はそこまで多重で再生しない=配列サイズも
そんなに多くはならない=線形探索しても性能への影響はない、と考えています。
# これもちょっと検証が必要な気がしますけど。

昨日の記事は上記の内容を更新しておきます。

RPGツクールMVでプレイヤーが移動しているときだけ足音を鳴らす方法

ワケあってRPGツクールMVを触ることになりました。
RPGツクールに触った機会と言えば・・・

あぁ年がバレるぅ~~~。友達とワイワイ作ったりプレイしたり、楽しかったなぁ……とノスタルジーに浸るのは置いといて。

初日ということで、とりあえずプレイヤーが移動したときに足音を鳴らす機能を実装してみました。後々必要になりそうだったので。
ネット軽く調べてみたところ、歩数やキーの押下状況で音の再生/停止をコントロールする方法を見つけましたが、
以下の観点から別の方法でコントロールすることにしました。

  • 再生時間の長いSEでも自然に聞こえるようにしたい (歩数コントロールだと、場合によって音がかぶりそう(たぶんね))
  • マウスクリック、スマホのタップでも正常にSEを鳴らしたい (←だと方向キーは押してない状態になるので、判定条件に方向キーの押下状況を使いたくない)

なお当方RPGツクールの慣習などをほとんど知りませんので、誤り等ありましたら教えてくださいね~。

前書き

  • 本機能で使用する変数は101~104番の4つを使用しています。
  • RPGツクールMVの仕様で1つのスクリプトに書ける行数が12行なので横長になってます。読みづらくてごめんなさい。
  • 突貫で作成していますので、なんかまだ怪しい挙動をすることがあります…ご承知おきください。

考え方

  • プレイヤーの移動を検知したとき、SE再生中フラグがすでにONなら何もしない。SE再生中フラグがOFFなら、SEをループで鳴らし、SE再生中フラグをONにする。
  • プレイヤーが移動をやめたらSEを停止し、SE再生中フラグをOFFにする。

実装

自作メソッドをrpg_managers.jsに追加します。
効果音ごとに再生を停止するメソッドと、効果音をループ再生させるメソッドです。
rpg_managers.jsの先頭に以下を追加。

const path = require('path');

また以下をrpg_managers.jsの任意の位置に追加。

AudioManager.stopPlayedSE = function(sename)
{
    if (sename)
    {
        for ( var i = 0; i < this._seBuffers.length; ++i )
        {
            var file = path.basename(this._seBuffers[i].url, path.extname(this._seBuffers[i].url))
            if ( file === sename )
            {
                this._seBuffers[i].stop()       // 止めるべきSEを発見した
                this._seBuffers.splice( i, 1 )  // 止めた要素は削除してしまう
                break
            }
        }
    }
}

次に、コアスクリプトの関数を書き換えてしまっていいのかわかりませんが、
AudioManager.playSeメソッドを改造します。
以下のように第二引数でループするかどうかを指定できるようにし、
引数なし(つまり既存でコールされている部分)についてはデフォルト引数で
必ずループさせない(既存と同じ動作)ようにさせます。

// 既存のplaySeメソッドに第二引数を追加
AudioManager.playSe = function(se, bLoop=false) {
    if (se.name) {
        this._seBuffers = this._seBuffers.filter(function(audio) {
            return audio.isPlaying();
        });
        var buffer = this.createBuffer('se', se.name);
        this.updateSeParameters(buffer, se);
        buffer.play(bLoop);
        this._seBuffers.push(buffer);
    }
};

次にプレイヤーが移動しているかどうかを判定するコモンイベントを1つ作成します。

const PREV_MOVING=101, CUR_MOVING=102, STOP_COUNTER=104
{
    if ( this.character(-1).isMoving() ){ 
      $gameVariables.setValue( CUR_MOVING, 1 )     // プレイヤーが移動中かどうかのフラグは「移動中」
      $gameVariables.setValue( STOP_COUNTER, 0 )   // isMoving()連続false(停止)回数は0にリセット
    } else {
      // isMoving()が一定回数連続でfalse(停止)にならない限り「停止中」とは判定せず、前回の結果をそのまま使う。
      $gameVariables.setValue( CUR_MOVING, ($gameVariables.value(STOP_COUNTER) <= 2) ? $gameVariables.value(PREV_MOVING) : 0 )
      $gameVariables.setValue( STOP_COUNTER, $gameVariables.value(STOP_COUNTER) + 1 )  // isMoving()連続false(停止)回数を+1
    }
    $gameVariables.setValue( PREV_MOVING, $gameVariables.value(CUR_MOVING) )    // 次回向け、前回の移動中フラグを保存する
}

プレイヤーが移動しているかどうかは「this.character(-1).isMoving()」で判定できるのですが、
これをそのまま使うと思った通りに動作しません。

方向キーを押しっぱなしにしていても、グリッドとグリッドの間で一瞬停止期間があるようで、
そのまま実装すると、プレイヤーはずっと移動しているのに、上述した停止期間にひっかかって足跡のSEが所々で
停止してしまうのです。そのため、ここでは連続してisMoving()がfalse(プレイヤーの移動停止)を返してきたときに、
はじめて本当にプレイヤーの動作が停止したと判定することにします。
ここでは連続して3回isMoving()がfalseを返したら停止と判断しています。

次に、足音を鳴らしたいマップにイベントを作成し、トリガーを「並列処理」にします。
イベントの実行内容の1つ目は、↑で作成したコモンイベントを呼び出します。

実行内容の2つ目で、スクリプトを実行します。
なお以下の項目については、ご自分の環境に合わせて変更してください。

  • playSeLoopメソッドおよびstopPlayedSEメソッドに渡す変数。SE名(ファイルの拡張子を除いたもの)、ボリューム、ピッチ、パン。
const CUR_MOVING=102, SE_PLAYED=103, $bPlayerMoving = $gameVariables.value(CUR_MOVING)
{
  if ( $bPlayerMoving ) {
    if ( $gameVariables.value(SE_PLAYED) != 1 ){
      AudioManager.playSe({"name":"stepsound","volume":100,"pitch":100,"pan":0}, true)
      $gameVariables.setValue( SE_PLAYED, 1 )
    }
  } else {
    AudioManager.stopPlayedSE("stepsound"); $gameVariables.setValue( SE_PLAYED, 0 )
  }
  this.wait(1)
}

効果音は停止までループして再生させています。
this.wait(1)はノーウェイトだと重そうなのと、1FPSに一度処理する、とタイミングが決まっていた方が
何かと都合が良いと思ったためです。RPGツクールの常識、よくわかんねぇ。
実装は以上です。

今後は以下を考えてます。

  • 足元のマップチップの種別やリージョンID?とやらで判定する

ところで

RPGツクールってRubyガリガリ書けるようになったと聞きましたが、また元に戻ったんですかね?
マルチデバイス対応でHTML5 + JavaScriptで動作しているというのは納得なのですが。
できれば全部スクリプトで組ませて欲しいですねぇ。
せめて1つのスクリプトの命令で今の100倍くらいは行数を書けるようにして欲しいっす。

2019/07/24追記
と思ったらこんなプラグインを作成しておられる方がいらっしゃるではありませんか!
ありがとうございます。使わせていただいてます。

翠さんのエディタ内で12行以上のスクリプトを書けるプラグイン +エラー時に該当箇所を標準出力する機能を追加しました - ツクマテ

はてなブログ(無料版)にnend(クリック報酬型アド)の広告を表示する方法

はじめに

はてなブログの場合、仕組み上Google AdSenseの審査が通らず、別の広告を探す必要があります。
そこで自分が目を付けたのが「nend」です。
はてなブログの無料版でも広告を貼り付けることができますよ。

特徴

まずはnendにアカウントを登録

以下のURLにアクセスします。
2019/07/05現在のレイアウトとなりますが「広告主様」→「会員登録」と進んで、[メディアパートナーご登録]画面から必要な情報を登録しましょう!
nend.net

ここで入力した登録メールアドレスに仮登録の通知が来ますので、メールに記載されているURLをクリックして登録を完了させます。
すると審査(本登録)が開始されるのでしばらく待ちましょう。1日くらいで審査(本登録)を通過するはずです。

広告枠を作成する

nendでは、広告を貼り付ける場所ごとに広告枠を作成する必要があります。

nendにログインして[広告枠の管理]→[新規サイト/アプリの作成]と進み、
ご自分の運用されているサイト名やURL、サイトの紹介なんかを入力してください。
作成すると、これまた審査に入りますが、これは早ければ数分で完了します。

まずはテスト用のバナー広告を貼り付けてみよう!

↑で広告枠の審査がおりるまで、こちらを進めておきましょう。
この工程を完了させておけば、後にテスト用広告コードを本番用広告コードに書き換えるだけで、本番の広告を表示することができます。

最初に、はてなブログの管理画面から「デザイン」に移動します。
f:id:taiyakisun:20190705234435j:plain

続いて、「工具」アイコンをクリックします。
今回はタイトルと記事の間に広告を載せることにしますので、「記事上」をクリックします。
f:id:taiyakisun:20190705231347j:plain

テスト用広告コードを貼り付けます。コードは以下のサイトに記載されてます。
スマートフォン広告なら日本最大級のnend(スマホweb広告/アプリ広告/インフィード広告・ネイティブ広告/インタースティシャル広告対応)

2019/07/05時点ですが、サイズ320x50バナーの広告コードは以下です。
現在はコードが変わっている可能性もありますので、うまく広告が表示されない場合は、↑のサイトにアクセスして最新のコードをコピペしてみてくださいね!

<script type="text/javascript">
var nend_params = {"media":82,"site":58536,"spot":127513,"type":1,"oriented":1};
</script>
<script type="text/javascript" src="https://js1.nend.net/js/nendAdLoader.js"></script>


nendの広告はスマホ専用なので、スマホの設定も必要です。
スマホ」アイコンをクリックして[PCと同じHTMLを表示する]にチェックをつけておきます。
f:id:taiyakisun:20190705234604j:plain

スマホからWebページにアクセスして広告が表示されるか確認する

うまく表示されない場合はブラウザを変えて試してみてください。
自分はSafariではうまく表示されず、Chromeなら表示されました。
(たぶんSafariには広告ブロックアプリを入れているからだと思いますが~)

成功していれば赤枠の部分が表示されます。(青枠はもともと(無料版だから?)表示されている広告です)
f:id:taiyakisun:20190705232454j:plain

本番用広告コードに変更する

nendの[広告枠の管理]から作成した広告ユニットのステータスが「アクティブ」になっていることを確認したあと、「広告枠」をクリックします。
アクティブになっていなかったらまだ審査がおりていないので、しばらく待ちましょうね!
f:id:taiyakisun:20190705232820j:plain

その後コードが2つ表示されると思いますが、「広告コード」の方のコードをコピーし、↑でペーストしたテスト用のバナー広告のコードと差し替えてください。

あとはスマホから本番用の広告が表示されているかを確認してみてください。

プライバシーポリシー および お問い合わせについて

広告の配信について

当サイトは第三者配信の広告サービス「Google Adsense グーグルアドセンス」を利用しています。
広告配信事業者は、ユーザーの興味に応じた広告を表示するためにCookie(クッキー)を使用することがあります。
Cookie(クッキー)を無効にする設定およびGoogleアドセンスに関する詳細は「https://policies.google.com/technologies/ads?hl=ja」をご覧ください。

当サイトへのコメントについて

当サイトでは、スパム・荒らしへの対応として、コメントの際に使用されたIPアドレスを記録しています。

これはブログの標準機能としてサポートされている機能で、スパム・荒らしへの対応以外にこのIPアドレスを使用することはありません。また、メールアドレスとURLの入力に関しては、任意となっております。全てのコメントは管理人が事前にその内容を確認し、承認した上での掲載となりますことをあらかじめご了承下さい。加えて、次の各号に掲げる内容を含むコメントは管理人の裁量によって承認せず、削除する事があります。
・特定の自然人または法人を誹謗し、中傷するもの。
・極度にわいせつな内容を含むもの。
・禁制品の取引に関するものや、他者を害する行為の依頼など、法律によって禁止されている物品、行為の依頼や斡旋などに関するもの。
・その他、公序良俗に反し、または管理人によって承認すべきでないと認められるもの。

免責事項

当サイトで掲載している画像の著作権・肖像権等は各権利所有者に帰属致します。権利を侵害する目的ではございません。記事の内容や掲載画像等に問題がございましたら、各権利所有者様本人が直接メールでご連絡下さい。確認後、対応させて頂きます。
当サイトからリンクやバナーなどによって他のサイトに移動された場合、移動先サイトで提供される情報、サービス等について一切の責任を負いません。
当サイトのコンテンツ・情報につきまして、可能な限り正確な情報を掲載するよう努めておりますが、誤情報が入り込んだり、情報が古くなっていることもございます。
当サイトに掲載された内容によって生じた損害等の一切の責任を負いかねますのでご了承ください。

お問い合わせ

お問い合わせがある方は、本エントリーのコメント欄に投稿をお願い致します。

プライバシーポリシー お問い合わせ