<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Akio Yamazaki</title>
    <description>The latest articles on DEV Community by Akio Yamazaki (@yokochi).</description>
    <link>https://dev.to/yokochi</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F327691%2F624571e9-145d-456e-b7e4-8202bacde4e3.jpeg</url>
      <title>DEV Community: Akio Yamazaki</title>
      <link>https://dev.to/yokochi</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/yokochi"/>
    <language>en</language>
    <item>
      <title>I made a Firebase Analytics plugin for iOS with Godot.</title>
      <dc:creator>Akio Yamazaki</dc:creator>
      <pubDate>Thu, 10 Feb 2022 10:17:12 +0000</pubDate>
      <link>https://dev.to/yokochi/i-made-a-firebase-analytics-plugin-for-ios-with-godot-2ohn</link>
      <guid>https://dev.to/yokochi/i-made-a-firebase-analytics-plugin-for-ios-with-godot-2ohn</guid>
      <description>&lt;h2&gt;
  
  
  Overview
&lt;/h2&gt;

&lt;p&gt;Recently I've been making games with Godot. Mainly for iOS and Android apps.&lt;br&gt;
So, I want to add Firebase Analytics to Android and iOS apps respectively, Android is easy, don't need to change program, just Add repository url to build.gradle and Add google-services.json to the project(It's the same process as normal app development).&lt;br&gt;
However, the iOS version is a bit more complicated because I need to write the program. I looked around for a good plugin, and found that there is no standard plugin that uses this, so I decided to make my own.&lt;br&gt;
Here it is&lt;br&gt;
&lt;a href="https://github.com/funseek/godot-ios-firebase-analytics" rel="noopener noreferrer"&gt;https://github.com/funseek/godot-ios-firebase-analytics&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  How to create a plugin
&lt;/h2&gt;

&lt;p&gt;This is described in the official page, so I used this as a reference.&lt;br&gt;
&lt;a href="https://docs.godotengine.org/en/stable/tutorials/platform/ios/ios_plugin.html" rel="noopener noreferrer"&gt;https://docs.godotengine.org/en/stable/tutorials/platform/ios/ios_plugin.html&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Usage
&lt;/h2&gt;
&lt;h3&gt;
  
  
  git clone
&lt;/h3&gt;

&lt;p&gt;Clone the repository, including the repository for godot itself in the submodule.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git clone --recurse-submodules git@github.com:funseek/godot-ios-firebase-analytics.git
```



### Create a header file for the godot source



``` sh
./scripts/generate_headers.sh
```


The header file itself is created quickly, so you don't have to wait for it to finish.

### pod install
You can get the Firebase-related files from [CocoaPods](https://cocoapods.org/).



&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;pod install&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;


### Create the .a library file.


``` .
./scripts/release_static_library.sh 3.4
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If you want to specify a different version, you can use the 3.4 version in the SConstruct file. If you want to specify a different version, replace 3.4 in the SConstruct file.&lt;/p&gt;

&lt;h3&gt;
  
  
  Copy to project
&lt;/h3&gt;

&lt;p&gt;Copy the created .a file to your godot project.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cp bin/release/firebase-analytics/firebase-analytics.*.a $GODOT_HOME/ios/plugins/firebase-analytics/bin/
cp firebase-analytics.gdip $GODOT_HOME/ios/plugins/
```



### Export for iOS
Don't forget to check the Firebase-Analytics box in Plugins.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gnqu61b1mthnmxiodr2q.png)


### Xcode configuration
Use CocoaPods for Xcode, and add the following to your podfile.



&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;pod 'Firebase/Analytics'.&lt;br&gt;
pod 'Firebase/Auth'&lt;br&gt;
pod 'Firebase/Firestore'&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

The steps to use CocoaPods are as follows.
1. run pod init (if you are not already using it)
2. add the above to your Podfile
3. run pod install
4. open the project .xcworkspace in Xcode
5. Copy GoogleService-Info.plist to the project (you can download it from the Firebase administration page).

If it works, you are done!

Plug-ins that depend on external libraries are often loaded by copying each external library, but if you copy and use the dependent libraries for each plug-in, you may get errors when using different versions of the same library (I actually did). So, I think it's better to use CocoaPods to manage all the dependent libraries (personal opinion). Some examples of dependent libraries are Firebase, AdMob, etc.

## Others
In addition to the above, I also created the following plugins

A plugin to display the review request dialog
https://github.com/funseek/godot-ios-request-review

Plugin to show ATT dialog
https://github.com/funseek/godot-ios-att

After I wrote this, I realized that it would be easier to use the plug-ins if they were loaded by CocoaPods. I thought. I'll try it next time.


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
    </item>
    <item>
      <title>I made an app for Scissors Shogi.</title>
      <dc:creator>Akio Yamazaki</dc:creator>
      <pubDate>Sun, 23 May 2021 00:05:35 +0000</pubDate>
      <link>https://dev.to/yokochi/i-made-an-app-for-scissors-shogi-24bg</link>
      <guid>https://dev.to/yokochi/i-made-an-app-for-scissors-shogi-24bg</guid>
      <description>&lt;h2&gt;
  
  
  What is Scissors Shogi?
&lt;/h2&gt;

&lt;p&gt;Scissors Shogi is a game played with Shogi tools, using only foot soldiers to remove the opponent's pieces.&lt;/p&gt;

&lt;p&gt;See the following link for the rules&lt;br&gt;
&lt;a href="https://www.shogi.or.jp/knowledge/hasami_shogi/"&gt;https://www.shogi.or.jp/knowledge/hasami_shogi/&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Features
&lt;/h2&gt;

&lt;p&gt;Computer games, online games, and friend games are supported.&lt;/p&gt;

&lt;h2&gt;
  
  
  Technology used
&lt;/h2&gt;

&lt;p&gt;The game uses &lt;a href="https://phaser.io/phaser3"&gt;Phaser3&lt;/a&gt;.&lt;br&gt;
&lt;a href="https://playfab.com/"&gt;PlayFab&lt;/a&gt; and &lt;a href="https://firebase.google.com/"&gt;Firebase&lt;/a&gt; are used for the backend.&lt;/p&gt;

&lt;p&gt;Link&lt;br&gt;
iOS&lt;br&gt;
&lt;a href="https://apps.apple.com/app/id1542437319"&gt;https://apps.apple.com/app/id1542437319&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Android&lt;br&gt;
&lt;a href="https://play.google.com/store/apps/details?id=jp.co.kotakestudio.hasami"&gt;https://play.google.com/store/apps/details?id=jp.co.kotakestudio.hasami&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Web&lt;br&gt;
&lt;a href="https://necohasami.com"&gt;https://necohasami.com&lt;/a&gt;&lt;br&gt;
Web is still only available in Japanese. If there are many requests, we will support English as well!&lt;/p&gt;

</description>
    </item>
    <item>
      <title>We created a service to make API specifications easily.</title>
      <dc:creator>Akio Yamazaki</dc:creator>
      <pubDate>Thu, 21 May 2020 07:04:05 +0000</pubDate>
      <link>https://dev.to/yokochi/we-created-a-service-to-make-api-specifications-easily-3i60</link>
      <guid>https://dev.to/yokochi/we-created-a-service-to-make-api-specifications-easily-3i60</guid>
      <description>&lt;h1&gt;
  
  
  Introduction
&lt;/h1&gt;

&lt;p&gt;First, let me briefly introduce myself.&lt;br&gt;
I am the CTO of a company called Funseek.&lt;/p&gt;

&lt;p&gt;The company's main business is commissioned development, focusing on websites and smartphone applications (iOS and Android).&lt;br&gt;
Recently, the development of websites as well as smartphones have been developed with SPA, and the server side is often processed by receiving responses on the front side with only APIs.&lt;/p&gt;

&lt;p&gt;The main part of my work will be architecture selection, design, and source code review.&lt;br&gt;
In this section, we will write about how to create a design document required for API design.&lt;/p&gt;

&lt;h1&gt;
  
  
  How do you create the API specifications?
&lt;/h1&gt;

&lt;p&gt;I think Swagger, APIBlueprint, etc. are famous for creating API specifications.&lt;br&gt;
I also used to use Swagger and APIBlueprint to create API specifications.&lt;br&gt;
Other than that, I think there is a pattern to create in a free format using your favorite apps such as Word, Excel, etc... (I used to create them in the early days using Google documents, etc.)&lt;/p&gt;

&lt;h1&gt;
  
  
  Problems
&lt;/h1&gt;

&lt;p&gt;Swagger and APIBlueprint (or any other tool) have to follow their own description rules.&lt;br&gt;
Of course, if you remember the rules, you can easily output the API specification to HTML, PDF, etc., which is very convenient.&lt;br&gt;
At first I was very happy with this.&lt;br&gt;
But after a while, when I tried to write an API specification for another project, I opened a text editor and tried to write it. I've forgotten how to describe it. It always starts in the form of reading the documentation and processing the EXAMPLE. Yes, I always stumble on the starting dash.&lt;/p&gt;

&lt;p&gt;So, why not just write it in free format?&lt;br&gt;
In the beginning, I used to write using Google documents. The bad part of this is not limited to API specifications, but I am concerned about the formatting. Fonts here should be a little bigger, rules should be drawn, colors here, etc... The biggest problem with this one is that it takes up a lot of time for non-substantive work.&lt;/p&gt;

&lt;h1&gt;
  
  
  What you really want to do
&lt;/h1&gt;

&lt;p&gt;Most API specifications have a specific format.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;API name and outline&lt;/li&gt;
&lt;li&gt;Endpoint&lt;/li&gt;
&lt;li&gt;Contents of the Request&lt;/li&gt;
&lt;li&gt;Response Content
All you have to do is determine and fill in the following&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You don't have to learn how to write your own, just fill in the fields and save. If you share the link, other members can see it with one click (in a nicely presented state, of course).&lt;br&gt;
What I want to do is something as simple as this.&lt;/p&gt;

&lt;h1&gt;
  
  
  That's why I made it.
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://apibooks.funseek.co.jp/"&gt;https://apibooks.funseek.co.jp/&lt;/a&gt;.&lt;br&gt;
It's called APIBooks.&lt;/p&gt;

&lt;p&gt;The concept is.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;No unique description rule&lt;/li&gt;
&lt;li&gt;Easy UI operation&lt;/li&gt;
&lt;li&gt;Easy to share with links&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;is.  &lt;/p&gt;

&lt;p&gt; You can focus only on the essential tasks and, as a result, save time!&lt;/p&gt;

&lt;h1&gt;
  
  
  What can you do?
&lt;/h1&gt;

&lt;p&gt;The API specification is completed only by filling in the summary, Request, and Response items in the input field.&lt;br&gt;
The duplicate function eliminates the need to create a similar function from scratch.&lt;br&gt;
Input aids are provided for fixed items such as headers.&lt;br&gt;
You can create as many API specifications as you like.&lt;br&gt;
Can be shared by multiple members.&lt;br&gt;
Importing the existing yml (OpenAPI 2,3)&lt;br&gt;
Easy sharing by issuing API specification URL&lt;br&gt;
Download the API specification as HTML.&lt;/p&gt;

&lt;h1&gt;
  
  
  At the end.
&lt;/h1&gt;

&lt;p&gt;APIBooks is still a beta version with minimal features implemented.&lt;br&gt;
All the features are now available for free! We'd like to continue to improve the service, so we're looking forward to your feedback!&lt;/p&gt;

</description>
      <category>api</category>
    </item>
  </channel>
</rss>
